Выполнение команд из командного файла Windows с использованием Python без создания командного файла - PullRequest
0 голосов
/ 24 июня 2011

Мне нужно выполнить приведенную ниже команду (и пару других подобных), чтобы собрать журналы событий ОС Windows:

' wmic nteventlog where filename="appevent" call BackupEventLog C:\appevent.evt '

Команда успешно выполняется через приглашение cmd. и собирает файл C: \ appevent.evt Но когда я использую Python os.system или os.popen для его выполнения, ошибка повторного запуска.

Также, если я создаю файл .bat с помощью вышеуказанной команды и выполняю .bat, используя os.system, это работает должным образом,

Что не так, когда я выполняю cmd, используя os.system? и как я могу выполнить команду, используя Python?

1 Ответ

2 голосов
/ 24 июня 2011

Это связано с \a в строке. Escape \ в строке, заменив его на \\:

' wmic nteventlog where filename="appevent" call BackupEventLog C:\\appevent.evt '

или используйте необработанную строку:

r' wmic nteventlog where filename="appevent" call BackupEventLog C:\appevent.evt '
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...