从Python执行批处理文件会导致无限循环

时间:2011-07-20 14:46:24

标签: python batch-file

我有这个python代码:

import os
os.system("cleanup.bat")

这是我的cleanup.bat文件:

sc delete service1
sc delete service2

reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Key1" /f
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Key2" /f

EXIT

然而,当我运行我的python代码时,我的批处理文件无限循环。造成这种情况的原因是什么?

1 个答案:

答案 0 :(得分:0)

在我的系统上,system32中已经有一个cleanup.bat。它看起来像是一些安装的遗留物。

不要依赖路径或文件扩展名关联。 BAT文件不可执行,它由cmd.exe解释。

将您的Python代码更改为此

import os
os.system("cmd.exe /c .\\cleanup.bat")

然后在不依赖文件扩展名关联的情况下运行它,就像这样

python cleanup.py