使用Python从Windows批处理文件执行命令,无需创建批处理文件
我需要执行以下命令(以及其他几个类似的命令)来收集 Windows 操作系统事件日志:
' wmic nteventlog where filename="appevent" call BackupEventLog C:\appevent.evt '
该命令通过 cmd 提示符成功执行。并收集文件 C:\appevent.evt 但是当我使用 Python os.system 或 os.popen 执行它时,会出现重新运行错误。
另外,如果我使用上述命令创建一个 .bat
文件并使用 os.system
执行 .bat
,它就可以工作 正确地,
当我使用 os.system 执行 cmd 时出了什么问题? 以及如何使用 Python 执行该命令?
I need to execute below command (and couple of other similar) to collect Windows OS event logs:
' wmic nteventlog where filename="appevent" call BackupEventLog C:\appevent.evt '
The command executes successfully through cmd prompt. and collects file C:\appevent.evt
But when i use Python os.system
or os.popen
to execute it retruns error.
Also if I create a .bat
file with the above command and execute the .bat
using os.system
it works
properly,
What is going wrong when I execute cmd using os.system
?
and How can I execute the command using Python?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这是由于字符串中的
\a
造成的。通过将字符串中的\
替换为\\
来转义它:或使用原始字符串:
Its due to the
\a
in the string. Escape the\
in the string by replacing it with\\
:or use a raw string: