【发布时间】:2017-09-16 00:11:41
【问题描述】:
我正在使用此代码:
test.py:
cmd_line = str('C:\mybat.bat') + " "+str('C:\')+" "+str('S:\Test\myexe.exe')+" "+str('var4')+" "+str('var5')+" "+str('var6')+" "+str('var7')+ " "+str('var8') + " "+str('var9')+ " "+ str('var10')
process = subprocess.Popen(cmd_line, stdin=PIPE, stderr=None, stdout=None, shell=True)
process.communicate()
retcode = process.returncode
mybat.bat:
cd /d %1
%2 %3 %4 %5 %6 %7 %8 %9 %10
在参数:“var10”之前它工作正常,因为我不知道为什么 bat 为 %1 取相同的值,而不是为 %10,如下所示:
... >cd /d C:\
C:\> S:\Test\myexe.exe var4 var5 var6 var7 var8 var9 C:\0
我想读取最后一个参数 var10,而不是 C:\0,因为 bat 它获取 var1 的值并仅添加 0,但它应该是 var10。
谢谢!
【问题讨论】:
-
对上一个标志感到抱歉。没有注意这是针对Windows的事实。这是一个更好的:stackoverflow.com/q/8328338/3901060
标签: python subprocess