for循环命令中的%f是什么?

问题描述 投票:1回答:1

从这里的这个例子来看。https:/docs.microsoft.comen-uswindows-serveradministrationwindows-commandsfor#additional-references。

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

在前面的例子中,当前目录中每个扩展名为.doc或.txt的文件都会被替换为%f变量,直到显示每个文件的内容。要在批处理文件中使用这条命令,请用%%f替换每一个出现的%f。否则,该变量将被忽略,并显示一个错误信息。

这些与本例中的变量不同?

https:/www.tutorialspoint.combatch_scriptbatch_script_variables.htm

set message=Hello World 
echo %message%

这些叫什么?如何操作它们?

windows batch-file batch-rename
1个回答
5
投票

在批处理脚本的俚语中,它被称为 for loop token 而上面的例子只能在命令提示符下工作。对于一个批处理文件,你需要用双 %.

这些标记在for循环的每次迭代中都会改变其值。例如(可以在命令提示符中执行)。

for %a in (1 2) do @echo %a

这将会有两次迭代 -- 在第一次迭代中,如果值是 %%a token为1,秒数为2。

你可以使用for循环来读取文件(f开关和无引号),迭代文件(无开关)或目录(d开关),迭代字符串(同样无开关,但不能在字符串中使用通配符)来读取文件(f和无引号),或处理字符串(同样是f)。

你也可以用 "delims "选项分割每次迭代的值,然后你需要更多的连续字母 。

for /f "tokens=1,2 delims=-" %a in ("1-2-3") do @echo %a:%b

这将把引号中的字符串拆分为 - 并将第一部分和第二部分可通过的 %a%b tokens.

更多关于for循环的内容。

https:/ss64.comntfor.html。

https:/ss64.comntfor2.html

https:/ss64.comntfor_r.html

https:/ss64.comntfor_d.html

https:/ss64.comntfor_f.html

https:/ss64.comntfor_cmd.html。

© www.soinside.com 2019 - 2024. All rights reserved.