Chinaunix首页 | 论坛 | 博客
  • 博客访问: 517802
  • 博文数量: 230
  • 博客积分: 5726
  • 博客等级: 大校
  • 技术积分: 2765
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-21 13:51
文章分类

全部博文(230)

文章存档

2011年(33)

2010年(40)

2009年(157)

分类: WINDOWS

2009-04-28 16:30:57

批处理详细教程——for命令
对一组文件逐一运行一条命令。该命令可用在批处理文件中,也可命令提示符下直接调用。
语法:
for在批处理器中使用的语法如下:
FOR %%变量 IN(集合) DO 命令[命令参数]
for在命令提示符下使用的语法如下:
FOR %变量 IN(集合) DO 命令[命令参数]
 
参数 :

%%变量或%变量

代表一个可替换的变量。FOR命令将用指定的一组文件中的每一个文本字符串来替换%%变量(或%变量),直到此命令(在命令参数中指定的)处理完所有的文件为止。
用%%变量来执行一批处理程序中的FOR命令。用%变量来执行命令提示符下的FOR命令。
 
集合
指定一个或多个要用特定命令对其进行处理的文件或文本字符串。圆括号必须得有。
 
命令
指定要对一组文件中每一文件进行处理的命令。
 
命令参数
指定要用于指定命令(如果指定的命令使用了任何参数或开头)的任何参数或开关。
 
使用关键字IN及DO

IN和DO并不是参数,但FOR命令中要求这两个关键字。如果省略了这两个关键字,
则MS-DOS将显示一错误信息。
 
使用可替代变量

除了数字0到9之外,你可把任何字符用作变量,以避免与批处理参数%0到%9的混淆。对简单的批处理程序来说,象%%F这样的一个单一字符就足够了。在复杂的批处理程序中,你可把多个值用于变量以区分不同的可替换变量。然而,在同一命令行上不能嵌套(增加)多个FOR命令。

指定一组文件

集参数可代表一组文件或几组文件。你可用通配符(*及?)来指定一文件集。下面是合法的文件集:

(*.doc)

(*.doc *.txt *.me)

(jan*.doc jan*.rpt feb*.doc feb*.rpt)

(ar??1991.* ap??1991.*)

当你使用FOR命令时,集中的第一个值将代替%%变量(或%变量),而为了处理此值MS-DOS将执行指定的命令;此过程一直持续进行,直到MS-DOS将对应于集中的值(或多值)的所有文件(或多组文件)处理完毕为止。

FOR─例子

假设你想用TYPE命令来显示当前目录下扩展名.DOC或.TXT的所有文件的内容。为了做到这一点要使用可替代变量%F,并在命令提示符下输下面的命令。
for %f in (*.doc *.txt) do type %f

在此例中,当前目录下扩展名为.DOC或.TXT的每一个文件将代替%F变量,直到显示出每一个文件的内容为止。若把每一个%F都替换成%%F,则此命令可用于一批处理文件。否则,MS-DOS将忽略此变量而显示错误信息。
MS-DOS支持你想用于特定命令的开关、管道及重定向符。例如,为了把前一例的输出送到PRN(默认打印机口),应输入下面的命令:

for %f in (*.doc *.txt) do type %f > prn:

阅读(1302) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~