我需要在启动时运行一个程序(一个被做成 exe 的 python 脚本),而不显示控制台。在某些问题中,我找到了解决方案,即执行程序。现在,我正在用一个简单的 python 程序filewriter.py来测试它——
while count != 1000:
f = open('test.txt','a+')
f.write(str(count))
f.close()
sleep 1
bat 文件 tool.bat :
@ECHO OFF
python "<absolute_path_here>\filewriter.py"
EXIT /B
VBS 文件:
Set WinScriptHost = CreateObject("WScript.Shell")
WinScriptHost.Run Chr(34) & "<absolute_path_here>\tool.bat" & Chr(34), 0
Set WinScriptHost = Nothing
如果我执行 VBS 文件(双击它),一切正常。输出文件出现,没有控制台出现。所以我将它添加到注册表下
HKCU\Software\Microsoft\CurrenVersion\Run
作为 WScript“path_to_the_vbs_file”。
在启动时,VBS 文件正确执行(通过添加显示弹出窗口的 MsgBox 对其进行验证)但未执行对 bat 文件的调用。我如何使这项工作?
在 Windows 中有两个 python 可执行文件:python.exe
, pythonw.exe
. 如果您不想看到终端窗口,则必须使用pythonw.exe
.
我需要运行一个程序(一个被做成 exe 的 python 脚本)。
如果你.exe
在py2exe
它的帮助下隐藏你的脚本是类似的。您可以将脚本分配给console
或windows
。查看Py2exe 教程,该console
变量可以替换为windows
.
您不需要从 python 创建 EXE 文件。您可以pythonw.exe
使用路径作为脚本的参数运行。为什么你需要创建.bat
你运行的vbscript
?看这里:使用参数在 Windows 启动 CMD 上运行
我忘了说,Windows Python 安装程序通常会创建以下文件关联,因此脚本可以直接运行。
python.exe
pythonw.exe
在启动时运行脚本的其他方法是使用 Windows 调度程序。最大的优点是您可以在启动脚本时设置用户权限或更多事件。您也可以手动运行脚本,您将保持状态。
创建 Python.exe
有时很棘手。如果您不需要将脚本分发到多台计算机,我宁愿不要使用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句