【问题标题】:what is %% and /r mean in for loop in batch file?批处理文件中 for 循环中的 %% 和 /r 是什么意思?
【发布时间】:2014-08-23 07:19:33
【问题描述】:

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

for /r %%i in (*) do ( 回显 %%i )

【问题讨论】:

    标签: batch-file scripting


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 不,没有路径的命令完全没问题。 /R 后面的路径是可选的。如果没有给出路径,则默认为当前目录。
      • 我会选择这个答案为正确的,因为这个答案适合我的要求。
      • %%i 给了我完整的路径和文件名。我可以只从 %%i 中提取文件名吗?
      • 是的。 help for 列出了各种可能性。单独的文件名是 %%~ni
      猜你喜欢
      • 1970-01-01
      • 2013-09-23
      • 1970-01-01
      • 2010-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-18
      相关资源
      最近更新 更多