我正在尝试创建一个批处理文件以在不同目录中执行python脚本,诸如此类:
C:\Test
|---Test1\example.py
|---Test2\example.py
|---Test3\example.py
|--run.bat
我在Test,'Test1','Test2'和'Test3'中有多个文件夹,我需要在不同的命令提示符下同时运行它们,但是我不知道该怎么做,我得到了这样的东西: / p>
@echo off
set back=%cd%
for /d %%i in (C:\Test\*) do (
start
cd "%%i"
python example.py
pause
cd %back%
)
但是它只运行脚本并返回到主目录,所以我注意到,我相信它仅在第一个目录中运行,对此问题有何建议?
谢谢!
答案 0 :(得分:3)
在命令前添加关键字start
,以在新的提示符下执行该关键字。
在新的cmd提示符下打开python交互式外壳。
start python
在新的cmd提示符下执行python文件new.py
。
start python new.py
编辑:
这是在不同的cmd提示符下执行脚本的完整代码
@echo off
echo "this is the main batch script"
for /d %%i in (C:\Test\*) do (
start python "%%i\example.py"
)
pause
答案 1 :(得分:1)
当您需要同时运行事物时,您不能在批处理文件中执行此操作:批处理文件正在依次而不是同时执行命令。
我建议您将这些内容添加到任务计划程序中,并让所有内容同时开始。