一個.cmd文件打開命令窗口有一個名爲STARTUP.CMD文件,設置一些環境變量,運行一些準備命令,然後做:如何控制從使用Python
start "startup" cmd /k
打開一個命令shell命名爲啓動。我試圖自動執行的手動過程是,然後在此shell中輸入以下命令:get startup.xml
。我認爲在Python中這樣做的正確方法是這樣的:
import subprocess
p = subprocess.Popen('startup.cmd', shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE)
getcommand = 'get startup.xml'
servercommand = 'startserver'
p.stdin.write(getcommand)
p.stdin.write(startserver)
(stdoutdata, stderrdata) = p.communicate()
print stdoutdata
print stderrdata
但是這些命令似乎並沒有在shell中執行。我錯過了什麼?而且,無論shell是否設置爲True或False,命令shell都會出現。
我正在運行一個執行啓動命令的cmd文件 - 在技術上不是一個新的進程,我不是用原來的Popen調用進行控制的嗎? – Nathan 2011-05-13 22:02:24