首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python :单实例执行CMD中的多条命令

Python :单实例执行CMD中的多条命令
EN

Stack Overflow用户
提问于 2018-07-29 02:24:52
回答 1查看 1.5K关注 0票数 0

我正试图从我的python程序中调用几个“阻塞”.bat文件。我需要做的第一件事是更改打开CMD的目录。在我将CMD指向所需的位置之后,我将调用两个bat文件。我希望它们按顺序执行。

代码语言:javascript
复制
def launchAdminConsole():    
    print('Going to launch admin console')
    changeDir = 'cd dir1\\dir2\\bin \n 1.bat \n 2.bat'
    os.system("start /wait cmd /c {"+changeDir+"}")
    print("Admin Console launced")

使用/waitAccording to this question应该会让命令提示符等待,但对我来说,它只是弹出然后消失,所以我不确定是否执行了bat文件。

此外,我不确定我是否正确地形成了命令行代码。我在谷歌上搜索了如何在python的cmd的一个实例中执行几个命令,但没有一个结果对我有太大帮助,所以我自己猜测了一下,并执行了上面的代码。

我需要命令提示符来打开并运行这两个bat文件,然后将控制权交还给python。我不需要获取bat文件的输出或其他东西,我只需要知道这两个文件是否执行。正如我之前所说的,它们都阻止了bat文件,所以如果运行正确,命令提示符将不能如此快速地关闭。我希望你们得到我的要求,否则评论下面我会解释更多。

编辑:更新我的代码如下

代码语言:javascript
复制
def launchAdminConsole2():
    print('Going to launch admin console')
    changeDir = 'cd dir1\\dir2\\bin'
    runOnce1 = '1.bat'
    runOnce2 = '2.bat'
    p = subprocess.Popen(changeDir,shell=True)
    p.wait()
    print(p.returncode)
    p = subprocess.call([changeDir, runOnce, runOnce1])
    p.wait()
    print("Admin Console launced")

更改目录的返回代码返回0,但指出未找到1.bat。我确信如果目录发生了变化,该文件将出现在给定的位置。

错误是

代码语言:javascript
复制
 File "C:\Users\nirma\AppData\Local\Programs\Python\Python37-32\lib\subprocess.py", line 304, in call
    with Popen(*popenargs, **kwargs) as p:
  File "C:\Users\nirma\AppData\Local\Programs\Python\Python37-32\lib\subprocess.py", line 756, in __init__
    restore_signals, start_new_session)
  File "C:\Users\nirma\AppData\Local\Programs\Python\Python37-32\lib\subprocess.py", line 1155, in _execute_child
    startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-29 04:12:07

如果使用与符号和s分隔,则可以使用cmd.exe /c运行多个命令:

代码语言:javascript
复制
cmd.exe /c "cd \dir & 1.bat & 2.bat"

尝试将其传递给subprocess.call,看看效果如何。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51574091

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档