快速业务通道

经过整理的一些dos/bat批处理教程

作者 佚名 来源 批处理 浏览 发布时间 2013-07-09
令如下:
FOR[%c]IN(set)DO[command][arguments]
常用参数:
/L该集表示以增量形式从开始到结束的一个数字序列。因此,(1,1,5)将产生序列12345,(5,-1,1)将产生序列(54321)。
/D如果集中包含通配符,则指定与目录名匹配,而不与文件名匹配。

/F从指定的文件中读取数据作为变量
eol=c-指一个行注释字符的结尾(就一个)
skip=n-指在文件开始时忽略的行数。
delims=xxx-指分隔符集。这个替换了空格和跳格键的默认分隔符集。
tokens=x,y,m-n-指每行的哪一个符号被传递到每个迭代的for本身。这会导致额外变量名称的分配。m-n格式为一个范围。通过nth符号指定mth。如果符号字符串中的最后一个字符星号,那么额外的变量将在最后一个符号解析之后分配并接受行的保留文本。
usebackq-指定新语法已在下类情况中使用:在作为命令执行一个后引号的字符串并且一个单引号字符为文字字符串命令并允许在filenameset中使用双引号扩起文件名称。
下面来看一个例子:
FOR/F"eol=;tokens=2,3*delims=,"%iin(myfile.txt)do@echo%i%j%k
会分析myfile.txt中的每一行,忽略以分号打头的那些行,将每行中的第二个和第三个符号传递给for程序体;用逗号和/或空格定界符号。请注意,这个for程序体的语句引用%i来取得第二个符号,引用%j来取得第三个符号,引用%k来取得第三个符号后的所有剩余符号。对于带有空格的文件名,您需要用双引号将文件名括起来。为了用这种方式来使用双引号,您还需要使用usebackq选项,否则,双引号会被理解成是用作定义某个要分析的字符串的。
%i专门在for语句中得到说明,%j和%k是通过tokens=选项专门得到说明的。您可以通过tokens=一行指定最多26个符号,只要不试图说明一个高于字母''z''或''Z''的变量。请记住,FOR变量名分大小写,是通用的;而且,同时不能有52个以上都在使用中。
您还可以在相邻字符串上使用FOR/F分析逻辑;方法是,用单引号将括号之间的filenameset括起来。这样,该字符串会被当作一个文件中的一个单一输入行。最后,您可以用FOR/F命令来分析命令的输出。方法是,将括号之间的filenameset变成一个反括字符串。该字符串会被当作命令行,传递到一个子CMD.EXE,其输出会被抓进内存,并被当作文件分析。因此,以下例子:
FOR/F"usebackqdelims=="%iIN(`set`)DO@echo%i
会枚举当前环境中的环境变量名称。
以下列举一个简单的例子,他将说明参数/L和没有参数的区别:
删除文件1.TXT2.TXT3.TXT4.TXT5.TXT
例:
ECHOOFF
FOR/L%%FIN(1,1,5)DODEL%%F.TXT

FOR%%FIN(1,2,3,4,5)DODEL%%F.TXT
以上2条命令执行的结果都是一样的如下:
C:\>DEL1.TXT
C:\>DEL2.TXT
C:\>DEL3.TXT
C:\>DEL4.TXT
C:\>DEL5.TXT

8、SETLOCAL
开始批处理文件中环境改动的本地化操作。在执行SETLOCAL之后
所做的环境改动只限于批处理文件。要还原原先的设置,必须执
行ENDLOCAL。达到批处理文件结尾时,对于该批处理文件的每个
尚未执行的SETLOCAL命令,都会有一个隐含的ENDLOCAL被
执行。例:
@ECHOOFF
SETPATH/*察看环境变量PATH
PAUSE
SETLOCAL
SETPATH=E:\TOOLS/*重新设置环境变量PATH
SETPATH
PAUSE
ENDLOCAL
SETPATH
从上例我们可以看到环境变量PATH第1次被显示得时候是系统默认路径。被设置成了E:\TOOLS后显示为E:\TOOLS但当ENDLOCAL后我们可以看到他又被还原成了系统的默认路径。但这个设置只在该批处理运行的时候有作用。当批处理运行完成后环境变量PATH将会还原。

9、SHIFT
SHIFT命令可以让在命令上的的命令使用超过10个(%0~%9)以上的可替代参数例:
ECHOOFF
ECHO%1%2%3%4%5%6%7%8%9
SHIFT
ECHO%1%2%3%4%5%6%7%8%9
SHIFT
ECHO%1%2%3%4%5%6%7%8%9
执行结果如下:
C::\>SHIFT.BAT1234567891011
123456789
2345678910
3

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号