DOS命令大全:For命令详解

对一组文件中的每个文件运行指定的命令。

MS-DOS命令语法

for {%variable|%%variable} in (set) do command [ CommandLineOptions]

MS-DOS命令参数

{%variable|%%variable}
必需。代表可替换的参数。使用 %variable 通过命令提示符执行 for 命令。使用 %%variable 在批处理文件中执行 for 命令。变量要区分大小写,并且必须用 Alpha 值表示,例如,%A、%B 或 %C。
(set)
必需。指定要用指定命令处理的一个或多个文件、目录、数值范围以及文本字符串。需要括号。
command
必需。指定要对包括在指定 (set)中的每个文件、目录、数值范围以及文本字符串所执行的命令。
CommandLineOptions
指定要通过指定命令使用的任何命令行选项。
/?
在命令提示符显示帮助。

MS-DOS命令注释

MS-DOS命令范例

要在批处理文件中使用 for,请使用以下语法:

for %%variable in (set) do command [CommandLineOptions]

要通过使用可替换变量 %f 显示当前目录中扩展名为 .doc 或 .txt 的所有文件的内容,请键入:

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

在前述范例中,当前目录中扩展名为 .doc 或 .txt 的每个文件都被替代为变量 %f ,直到每个文件的内容都显示为止。要在批处理文件中使用该命令,只需使用 %%f 替换 %f 的每个事件。否则忽略此变量,并显示一条错误消息。

要解析文件,同时忽略注释行,请键入:

for /F "eol=; tokens=2,3* delims=," %i in (myfile.txt) do @echo %i %j %k

这个命令解析 myfile.txt 文件的每一行,忽略以分号开头的行,将第二和第三个令牌从各行传递到 FOR 正文(令牌通过逗号或空格分隔)中。FOR 语句的正文引用 %i 以获得第二个令牌,引用 %j 以获得第三个令牌,引用 %k 以获得其余全部令牌。如果您提供的文件名包含空格,请使用引号将文本引起来(例如,"File Name")。要使用引号,必须使用 usebackq。否则,就将引号解释为定义要解析的文字字符串。

%i 在 FOR 语句中明确声明,并且 %j 和 %k 使用 tokens= 隐含声明。只要它不会引起尝试声明高于字母“z”或“Z”的某个变量,则使用 tokens= 可以指定最多 26 个令牌。

要通过将 filenameset 放在括号之间来解析命令输出,请键入:

for /F "usebackq delims==" %i IN (`set`) DO @echo %i

这个范例列举当前环境中的环境变量名。

上一页:DOS命令大全:Finger命令详解 下一页:DOS命令大全:Forcedos命令详解

版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号