使用加载了' / s'的脚本文件打开一个应用程序。在子进程中

时间:2015-02-20 09:13:36

标签: python windows python-2.7 python-3.x subprocess

要在名为DriveMaster的Windows中打开应用程序,我使用的是subprocess.Popen:

subprocess.Popen(['C:\\Program Files (x86)\\ULINK DM2012 PRO NET\\v970\\DriveMaster.exe'])

现在,如果我需要在加载脚本文件的情况下打开DriveMaster,我该怎么办?从Windows命令提示符或Windows批处理文件我运行:

"C:\Program Files (x86)\ULINK DM2012 PRO NET\v970\DriveMaster.exe" /s:c:\Program Files (x86)\ULINK DM2012 PRO NET\v970\Scripts\ATA\SATA_TestBatch.srt

现在我需要使用脚本文件SATA_TestBatch.srt文件打开DriveMaster。请注意有' / s:'包含在加载脚本文件的命令中。

2 个答案:

答案 0 :(得分:1)

您可以尝试的第一件事是按原样运行命令:

import subprocess

subprocess.check_call(r'"C:\Program Files (x86)\ULINK DM2012 PRO NET\v970\DriveMaster.exe" /s:c:\Program Files (x86)\ULINK DM2012 PRO NET\v970\Scripts\ATA\SATA_TestBatch.srt')

答案 1 :(得分:0)

这应该有效:

subprocess.Popen([r'C:\\Program Files (x86)\\ULINK DM2012 PRO NET\\v970\\DriveMaster.exe', r'/s:c:\Program Files (x86)\ULINK DM2012 PRO NET\v970\Scripts\ATA\SATA_TestBatch.srt'])

参考:https://docs.python.org/3/library/subprocess.html

  

args应该是一系列程序参数或者是一个单独的字符串。默认情况下,如果args是序列,则要执行的程序是args中的第一项。