【问题标题】:Batch File to acess a directory and execute a python script批处理文件以访问目录并执行 python 脚本
【发布时间】:2018-10-01 12:13:47
【问题描述】:

我正在尝试创建一个批处理文件来在不同的目录中执行 python 脚本,类似这样:

C:\Test
   |---Test1\example.py
   |---Test2\example.py
   |---Test3\example.py
|--run.bat

我在 Test 中有多个文件夹,“Test1”、“Test2”和“Test3”,我需要使用不同的命令提示符同时运行它们,但我不知道该怎么做,我得到了类似的东西:

@echo off
set back=%cd%
for /d %%i in (C:\Test\*) do (
start
cd "%%i"
python example.py
pause
cd %back%
)

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

谢谢!

【问题讨论】:

  • 您想运行一个批处理文件,该批处理文件将打开多个 cmd 提示符以同时运行您的脚本?
  • 是的,就是这样。

标签: python windows batch-file


【解决方案1】:

在命令前添加关键字start 以在新提示符中执行它。

在新的 cmd 提示符下打开 python 交互式 shell。

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

【讨论】:

  • 我得到了类似的外观:@echo off set back=%cd% for /d %%i in (C:\Test*) do ( start cd "%%i" python example。 py pause cd %back% ) 但他没有访问下一个文件夹,并执行脚本。
  • 为了让你的 python 脚本不会自行关闭,在你的 python 文件末尾添加一行 input() ,这将使提示等待,一个快速简单的修复
【解决方案2】:

当您需要同时运行时,您不能在批处理文件中执行此操作:批处理文件是按顺序执行命令,而不是同时执行。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 2018-07-30
    • 1970-01-01
    • 1970-01-01
    • 2018-04-12
    相关资源
    最近更新 更多