批处理文件以访问目录并执行python脚本

时间:2018-10-01 12:13:47

标签: python windows batch-file

我正在尝试创建一个批处理文件以在不同目录中执行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%
)

但是它只运行脚本并返回到主目录,所以我注意到,我相信它仅在第一个目录中运行,对此问题有何建议?

谢谢!

2 个答案:

答案 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)

当您需要同时运行事物时,您不能在批处理文件中执行此操作:批处理文件正在依次而不是同时执行命令。

我建议您将这些内容添加到任务计划程序中,并让所有内容同时开始。