从这里的这个例子来看。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%
这些叫什么?如何操作它们?
在批处理脚本的俚语中,它被称为 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循环的内容。