DOS For命令

DOS For命令教程

Dos 中的 for 命令可以对一组文件中的每一个文件执行某个特定命令。

DOS For命令详解

功能

对一组文件中的每一个文件执行某个特定命令。

语法

FOR %variable IN (set) DO command [command-parameters]

参数

参数 描述
%variable 指定一个单一字母可替换的参数。
(set) 指定一个或一组文件。
command 指定对每个文件执行的命令。
command-parameters 指定对每个文件执行的命令。

显示帮助文档

语法

for /?

案例

查看帮助文档,输入以下命令:

for /?

运行结果如下图:

83 DOS for命令.png

循环输出

语法

for %variable IN (set) DO command

案例

循环输出一串数字,输入以下命令:

for %i in (1,2,3) do @echo %i

运行结果如下图:

84 DOS for命令.png

循环打印文本文件名称,输入以下命令:

for %i in (*.txt) do @echo %i

运行结果如下图:

85 DOS for命令.png

循环输出目录,输入以下命令:

for /r %i in (*.txt) do @echo %i

运行结果如下图:

86 DOS for命令.png

按序输出数字

语法

FOR /L %variable IN (start,step,end) DO command

案例

循环正序输出一串数字,输入以下命令:

for /l %i in (1,1,5) do @echo %i

运行结果如下图:

87 DOS for命令.png

循环倒序输出一串数字,输入以下命令:

for /l %i in (5,-1,1) do @echo %i

运行结果如下图:

88 DOS for命令.png

扩展命令

语法

FOR /F ["options"] %variable IN (file-set) DO command

参数

options 含以下参数:

参数 描述
eol=c 指一个行注释字符的结尾。
skip=n 指在文件开始时忽略的行数。
delims=xxx 指分隔符集。
tokens=x,y,m-n 指每行的哪一个符号被传递到每个迭代的 for 本身。
usebackq 迭代单引号内的字符串。

案例

创建文本文件,文本内容如下图:

89 DOS for命令.png

输出文本内容,输入以下命令:

for /f %i in (haicoder.txt) do @echo %i

默认情况下会输出每行第一个值,运行结果如下图:

90 DOS for命令.png

输出指定位置内容,输入以下命令:

for /f "tokens=2" %i in (haicoder.txt) do @echo %i

此时会输出每一行的第二个值,运行结果如下图:

91 DOS for命令.png

如果需要输出前 3 个值,可以输入以下命令:

for /f "tokens=1,2,3" %i in (haicoder.txt) do @echo %i %j %k

运行结果如下图:

92 DOS for命令.png

若要输出字符串指定位置的值,可以输入以下命令:

for /f "usebackq tokens=1,2" %i in ('one two three') do @echo %i %j

运行结果如下图:

93 DOS for命令.png

此时更改文本文件内容,内容如下:

94 DOS for命令.png

如果需要输出文本所有内容,可以输入以下命令:

for /f "tokens=*" %i in (haicoder.txt) do @echo %i

运行结果如下图:

95 DOS for命令.png

DOS For命令总结

Dos 中的 for 命令可以对一组文件中的每一个文件执行某个特定命令。