- 帖子
- 551
- 积分
- 2799
- 技术
- 39
- 捐助
- 0
- 注册时间
- 2011-4-22
|
本帖最后由 applba 于 2011-9-23 12:15 编辑
对于 for /f "options" %%i in (set) do (cmds)
for命令中的 逗号 分号 空格 tab 等号 都是分隔符,如果是in和do后面的括号还可以使用 回车(换行)符号 做分隔符。
for命令的参数存在二次转义:
(1)cmd.exe在读取时,"options"参数的必须作为一个整体传送到for命令。因此,其中的空格、分号、等号、回车符号都必须转义,否则"options"将被截断为多个部分分次传递到for命令,导致出错。转义的方式可以是使用双引号连续,也可以是使用尖号逐个转义。当然了。如果的"options"中没有这些特殊符号,自然不需要任何转义的。如: for /f "usebackq" %%i in (set) do (cmds)
(2)for命令之后会对传递过来的参数"options"进行自行解析,依据是关键字(tokens,delins等)和分隔符。上面转义过的空格、分号、等号、回车符号再次成为特殊符号,用于分割参数。 |
|