一次在各种文件夹中运行批处理文件

时间:2016-10-29 14:49:34

标签: windows batch-file

说,我有20个名为folder0到folder20的文件夹,在每个文件夹中我有一个test.bat文件。我想通过另一个批处理文件一次运行每个文件夹中的所有批处理文件。如果我使用以下批处理文件,它将一个接一个地在每个文件夹中运行test.bat:

FOR /L %%A IN (0,1,20) DO (
 cd folder%%A
 call test.bat 
 cd..
) 

但是如何平行运行每个文件夹中的批处理文件?

2 个答案:

答案 0 :(得分:0)

我认为除了遍历列表或使用指标作为您要使用的路径的一部分之外,还有其他方式。没有内置的方法可以递归地运行文件夹中的每个.bat

然而,您可以使用类似this的内容来获取for-loop变量的路径,然后执行:

call %%X\test.bat

示例:

FOR /F %%A IN ('dir /ad /b /s') DO (
 echo %%A\test.bat
 call %%A\test.bat 
)

甚至可以看到在哪里发布了什么。

答案 1 :(得分:-1)

也许:

For /R %%A In (t?st.bat) Do Start "%%~nA" /D"%%~dpA" "%%~A"

...只需确保脚本是从包含20个编号文件夹的目录中运行的。