例如,您在批处理文件中有一个rename命令,并且想要在当前目录和所有子目录上执行该文件。

最佳答案

假设您的批次名称类似于myrename.cmd,那么您可以轻松地执行以下操作:

call myrename.cmd
for /r /d %%x in (*) do (
    pushd "%%x"
    call myrename.cmd
    popd
)

第一行将针对当前目录运行它,for循环将在所有目录(/r)上进行递归迭代(/d),并在括号中执行该部分。我们在其中进行的操作是使用pushd将目录更改为当前正在迭代的目录,该目录具有不错的属性,您可以使用popd撤消该目录更改,然后运行命令,该命令将在目录中运行我们刚切换到。

假设批次位于路径中的某处。如果不是,而恰好位于上述批处理文件所在的位置,则可以使用
"%~dp0myrename.cmd"

08-07 17:20