【发布时间】:2014-08-23 07:19:33
【问题描述】:
我最熟悉 bash 脚本而不是 dos。所以我在一个批处理文件中有这个命令,我知道它正在遍历目录中的所有文件。但我想知道 /r 和 %% 是什么意思。 (我知道 %%i 指的是每个文件)
for /r %%i in (*) do ( 回显 %%i )
【问题讨论】:
标签: batch-file scripting
我最熟悉 bash 脚本而不是 dos。所以我在一个批处理文件中有这个命令,我知道它正在遍历目录中的所有文件。但我想知道 /r 和 %% 是什么意思。 (我知道 %%i 指的是每个文件)
for /r %%i in (*) do ( 回显 %%i )
【问题讨论】:
标签: batch-file scripting
/r - 遍历文件夹和所有子文件夹,即递归。
%%I - 路径/文件名的占位符
上面的命令只是列出了当前文件夹和所有子文件夹中的所有文件。
【讨论】:
上面的命令实际上是不正确的。 /r 开关需要一个根路径来迭代,例如。 for /r . %i in (*) ... 或 for /r c:\xyz %i ...
%i 是 for 循环中的可替换变量。 (您可以使用 a-z 和其他一些字符)。 % 类似于 bash 中的 $。
注意:在命令行中使用 %i,但需要在批处理文件中将 % 加倍。
【讨论】:
help for 列出了各种可能性。单独的文件名是 %%~ni