怎样同时运行不同文件夹下的.bat批处理文件?

有50个这样的文件夹(test01、test02....test50),每个文件夹下都有一个名为run.bat的批处理文件。我希望能同时运行这50个批处理文件,或不等第一个运行完,继续运行下一个,以此类推。
我试过如下方法均不行:
1、@echo off
cd D:\文件路径\test01
call run.bat
cd D:\文件路径\test02
call run.bat
......
cd D:\文件路径\test50
call run.bat
此方法不行,只有第一个test01的run.bat被调用执行了。

2、@echo off
call D:\文件路径\test01\run.bat
call D:\文件路径\test02\run.bat
......
call D:\文件路径\test50\run.bat
pause
此方法不行,运行一开始就提示错误,说run.bat内部的XXX.exe程序不是内部或外部程序,等等。

3、还有一些类似以上的方法,均无法运行成功,或只有第一个运行成功。其它的run.bat均未运行,也无其它的cmd框框出现。
谢谢09cdy、Frankqzh、mxt963 的回答,你们给出的方法我都试过了,都不行。此问题已经解决了,在批处理贴吧有人帮忙解决了,解决方式如下:
@echo off
setlocal enabledelayedexpansion
for /l %%a in (101 1 150) do (
set n=%%a
cd /d "D:\文件路径\test!n:~-2!"
start run.bat
)
感谢mxt963耐心的解答,分我还是给你了~

先说说你运行错误的代码。
1.你进入一个文件夹,但没有用CD..返回上一个目录。
以下代码就不会有错了:
@echo off
cd D:\文件路径\test01
call run.bat
CD..
cd D:\文件路径\test02
call run.bat
CD..
......
cd D:\文件路径\test50
call run.bat
2.run.bat内部的XXX.exe程序不是内部或外部程序,等等。从你这句话来看的话,说的就是run.bat的命令有错了。不知道是不是,你说得有点不清楚。
3.如果语句用对,格式也对的话肯定不会出现这种情况。
提供两种运行方法:
for /l %%i in (1 1 50) do call D:\文件路径\test%%i\run.bat

:for
set/a i+=1
call D:\文件路径\test%i%\run.bat
if not "%i%"=="50" goto for

:for
set/a i+=1
cd D:\文件路径\test%i%
call run.bat
CD..
if not "%i%"=="50" goto for

:for
set/a i+=1
call D:\文件路径\test%i%\run.bat
if not "%i%"=="50" goto for
建议这种情况用以上四种简便的方法。其他的方法都不怎么简便。
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-12-05
start 命令
比如 有4个批处理, 主程序为main.bat
其他三个在C:\1.BAT D:\2.BAT E:\3.BAT

在主程序里加
start C:\1.bat
start D:\2.bat
start E:\3.bat
这样就顺序把三个批处理都开启了。
第2个回答  2011-01-30
打开就会运行.只要命令对就可以了.运行条件没有.打开所在的文件夹不会运行.
第3个回答  2011-01-30
把所有的run.bat路径 都写在第一行下面 一行一个

@echo off& (for /f "usebackq skip=1 delims=" %%1 in (%0)do start "" "%%~1")& exit
D:\路径\x\test01\run.bat
E:\pa th\123\aaa\test01\run.bat
F:\df fg ccc\bbb\test01\run.bat
............
第4个回答  2011-01-30
@echo off
for /l %%a in (1,1,9) do start test0%%a\run.bat
for /l %%a in (10,1,50) do start test%%a\run.bat
相似回答