随笔分类 - 批处理/Shell
摘要:csh实例 参考:#!/bin/csh-vx#csh-vxshowthecommandbeforerunningtohelpdebug#justtochecksyntax#csh-n$0#argvif($#argv<2)thenecho"Sorry,butyouenteredtoofewparameters"echo"usage:$0arg1arg2exitendifsetarg1=$1setarg2=#2foreachi($*)echo$iend#executecommandsecho"Hellothere`whoami`.Howareyouto
阅读全文
摘要:在*unix系统中,常用的shell有sh,bash,csh/tcsh, ksh.sh来自于systemV的Unix,是传统的Unix的shell,直到现在很多的系统管理员仍然喜欢使用sh。bash来自于BSD Unix,语法非常类似于C语言,所以通常有C/C++编程背景的开发人员最喜欢使用。ksh是对sh的扩展,且吸收了csh的一些有用的功能,但是由于开始ksh的license是AT&T,所以后来出现了很多的ksh的开源版本,例如mksh,pdksh等。bash是现在很多Linux的发行版中默认的shell,综合了其他shell的很多优点。下面描述csh的一些基本的语法(在sh环境中
阅读全文
摘要:转自:http://www.cnblogs.com/stephen-liu74/archive/2011/11/01/2202027.htmlhttp://www.cnblogs.com/stephen-liu74/archive/2011/11/04/2228133.html零、shell中的内部变量: 1. $?: 表示shell命令的返回值.2. $$: 表示当前shell的pid.3. $!: 最后一个放入后台作业的PID值.4. $0: 表示脚本的名字.5. $1--$9,${10}: 表示脚本的第一到九个参数,和第十个参数.6. $#: 表示参数的个数.7. $*,$@: 表示所有
阅读全文
摘要:http://gnuwin32.sourceforge.net/完!
阅读全文
摘要:需要使用sh.exe来解析*.sh脚本。注意事项:1)因为shell是区分大小写的,shell使用PATH作为环境变量。必须在每个文件的开始用PATH=$Pathexport PATH2) 路径分隔符可以使用/或\\。3)正反斜杠替换Root=$1WebRoot=$Root/Webecho $WebRootecho $WebRoot | sed 's/\\/\//g' > temp.txtWebRoot=`cat temp.txt`rm -f temp.txtecho $WebRootecho $WebRoot | sed 's#/#\\\\#g'
阅读全文
摘要:windows的batchfile可以有%0-%9参数,其中%0默认表示batchfile的全路径,%1-%9为用户的传入参数。以下特殊标记可以用来获得文件的属性,如果对%0使用特殊标记,表示获得batachfile的相关属性,如果%1-%9中某个%*是个文件的路径,也可以使用如下特殊标记来获得%*表示文件的相关属性例如:D:\testfolder\test.bat[代码]调用时为D:\testfolder\test.bat "c:\test\new folder\mytable.txt",输出如下:[代码]参考:http://www.microsoft.com/resources/docum
阅读全文
摘要:简介:Interix / SFU (Services for Unix) 支持windowsxp 之前系统;http://www.microsoft.com/downloads/en/details.aspx?FamilyID=896c9688-601b-44f1-81a4-02878ff11778(Utilities and SDK for UNIX-based Applications) 支持...
阅读全文
摘要:此为商业软件,功能超级强大,提供了所有的unix命令的对应的windows的exe。参考:http://mkssoftware.com/完!
阅读全文
摘要:实例:1) source1.sh[代码]2) source2.sh[代码]3) source3.sh[代码]4) source4.sh[代码]结果:结论:http://www.cnblogs.com/itech/archive/2009/09/22/1571896.html完!
阅读全文
摘要:转自:http://sed.sourceforge.net/sed1line_zh-CN.html 和 http://linuxtoy.org/archives/sed-awk.html在以下地址可找到本文档的最新(英文)版本: http://sed.sourceforge.net/sed1line.txt http://www.pement.org/sed/sed1line.txt文本间隔: ...
阅读全文
摘要:转自:http://www.cnblogs.com/linglizeng/archive/2010/01/29/Bat-CMD-ChineseVerion.html 1. 综述 1、”.bat”: 这是微软的第一个批处理文件的后缀名,在几乎所有的Windows 操作系统内都能运行。 2、 “.cmd”: 是为Windows NT 设计的命令行脚本, 为Cmd.exe shell而设计的, 对于COMMAND.COM不具有向后兼容性。 3、目前所知道的.cmd 和 .bat文件的区别是对ERRORLEVEL变量的改变:当Command Extensions (命令行扩展)处于ena...
阅读全文
摘要:一 Copy a Unicode File to an ANSI FileWiToAnsi.vbs文件:[代码]批处理中调用:cscript WiToAnsi.vbs [path to Unicode file][path to ANSI file]二 Copy a ANSI File to an Unicode File只需对OpenTextFile和CreateTextFile的打开方式做调整...
阅读全文
摘要:批处理中使用vbs1 列举自启动的服务@echo for each sc in getobject("winmgmts:\\.\root\cimv2:win32_service").instances_ >sc.vbs@echo if sc.startmode="Auto" then wscript.echo sc.name^&" - "^&sc.pathname >&...
阅读全文
摘要:一 变量延迟为了更好的说明问题,我们先引入一个例子。例1: @echo off set a=4 set a=5&echo %a% pause结果:4解说:为什么是4而不是5呢?在echo之前明明已经把变量a的值改成5了?让我们先了解一下批处理运行命令的机制:批处理读取命令时是按行读取的,在处理之前要完成必要的预处理工作,这其中就包括对该行命令中的变量赋值。我们现在分析一下例1,批处理在运行...
阅读全文
摘要:一 常见命令1) at 11:00/interactive "c:\hero\hero.exe"表示在11:00运行c:\hero\hero.exe,其中interactive是参数,表示允许作业在运行时与当时登录的用户桌面进行交互。2) 显示或更改文件属性。(也可以更改文件夹的属性)例 attrib d:\hero.txt显示d:\hero.txt的属性。例 attrib d:\hero.txt...
阅读全文
摘要:一 Windows Batch1) 如果变量的值来自文件,则必须类似set /p num=<num.txt 。2)如果变量的值想来自命令的结果,则一些命令可以使用%%,例如set bbb=%time%,set aaa=%date%。对于一般的命令只能先输出到临时文件,然后再读入,例如time /t > ddd.txt set /p ddd=<ddd.txt。3) 在for中可以使...
阅读全文
摘要:batch file的label与shell的函数比较1 batch file[代码]注意:label用:来定义,相当于程序块,也可以认为是函数,使用goto跳转到label。如果使用call来调用label且label前仍有:,此时此label实际上被转化为子batch file。此时lable中的goto :eof仅表示推出子batch file,不是退出整个batch file。2 shel...
阅读全文
摘要:转自:http://www.cnblogs.com/focusHr/archive/2009/02/05/1384751.html一 介绍FOR这条命令基本上都被用来处理文本,但还有其他一些好用的功能! 看看他的基本格式(这里我引用的是批处理中的格式,直接在命令行只需要一个%号)。 可以在CMD输入for /?看系统提供的帮助!FOR 参数 %%变量名 IN (相关文件或命令) DO 执行的命令参...
阅读全文
摘要:Shell的循环实例:[代码]完!
阅读全文
摘要:IF/ELSE比较:1 batch file1) 3种写法:[代码]2)IF [NOT] EXIST filename command如果指定的文件名存在,指定条件为 true。IF [NOT] ERRORLEVEL number command如果最后运行的程序返回一个等于或大于指定数字的退出代码,指定条件为 true。IF [NOT] string1==string2 command如果指定的...
阅读全文