我使用這個代碼的批處理文件:使用Python子進程模塊運行超過10個參數
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」,因爲我不知道爲什麼蝙蝠採取相同的值爲%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的事實。這裏是一個更好的:http://stackoverflow.com/q/8328338/3901060 – FamousJameous