批处理文件中for循环的%%和/ r是什么意思?

时间:2014-08-22 22:50:16

标签: batch-file scripting

我最熟悉bash脚本而不是dos。所以我在批处理文件中有这个命令,我知道它正在迭代目录中的所有文件。但我想知道/ r和%%是什么意思。 (我知道%% i指的是每个文件)

for / r %% i in(*)do( echo %% i )

2 个答案:

答案 0 :(得分:2)

/r - 遍历文件夹和所有子文件夹,即递归。

%%I - 路径/文件名的占位符

上面的命令只列出当前文件夹和所有子文件夹中的所有文件。

答案 1 :(得分:2)

上述命令实际上是不正确的。 / r开关期望根路径迭代,例如。 for /r . %i in (*) ...for /r c:\xyz %i ...
%i是for循环中的可替换变量。 (您可以使用a-z和其他一些字符)。 %与bash中的$相似。 注意:在命令行中使用%i,但您需要将批处理文件中的%加倍。