Существует файл с именем startup.cmd, который устанавливает некоторые переменные среды, запускает некоторые команды подготовки, а затем:
start "startup" cmd /k
, открывающий командную оболочку с именем startup.Ручной процесс, который я пытаюсь автоматизировать, состоит в том, чтобы ввести в эту оболочку следующую команду: 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
Но эти команды, похоже, не выполняются в оболочке.Что мне не хватает?Кроме того, командная оболочка отображается независимо от того, установлена ли для нее значение True или False.