[英]How to execute a windows batch command recursively?
例如,批处理文件中有重命名命令,并且您希望在当前目录和所有子目录上执行该文件。
假设您的批处理名称类似于myrename.cmd
,那么您可以轻松地执行以下操作:
call myrename.cmd
for /r /d %%x in (*) do (
pushd "%%x"
call myrename.cmd
popd
)
第一行将为当前目录运行它, for
循环将在所有目录( /d
)上递归迭代( /r
)并执行括号中的部分。 我们在其中做的是将目录更改为我们当前正在迭代的目录,其中pushd
-which具有可以使用popd
撤消该目录更改的nice属性 - 然后运行该命令,然后将在目录中运行该命令我们刚转到。
这假设批处理位于路径中的某个位置。 如果它没有并且恰好位于上面的批处理文件所在的位置,那么您可以使用
"%~dp0myrename.cmd"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.