![如何在从命令窗口打开文件时阻止“打开方式”对话框窗口?](https://linux22.com/image/1293044/%E5%A6%82%E4%BD%95%E5%9C%A8%E4%BB%8E%E5%91%BD%E4%BB%A4%E7%AA%97%E5%8F%A3%E6%89%93%E5%BC%80%E6%96%87%E4%BB%B6%E6%97%B6%E9%98%BB%E6%AD%A2%E2%80%9C%E6%89%93%E5%BC%80%E6%96%B9%E5%BC%8F%E2%80%9D%E5%AF%B9%E8%AF%9D%E6%A1%86%E7%AA%97%E5%8F%A3%EF%BC%9F.png)
我使用环境变量将 Python 的解释器与 Python 脚本关联起来:
C:\Users\Piotr>ftype Python.File
Python.File="%PYTHON_HOME%\python.exe" "%1" %*
有时此环境变量未设置或设置为不存在的路径。当出现这种情况时,我尝试像这样运行 Python 脚本
C:\Users\Piotr>some_script.py
标题为打开用弹出。
我宁愿在命令行窗口中获取一些错误信息,而不是这个对话框。在这种情况下,我该如何防止弹出这个对话框?
答案1
我的回答过于复杂:
永久设置环境变量:
%PYTHON_HOME%=C:\Python\NotReady
然后在该文件夹中创建一个名为的小程序python.exe
,显示错误消息,或者更好的是,启动 python 初始化脚本。
答案2
ASSOC .py
您可以在实际调用脚本之前尝试测试执行结果:
ASSOC .py >nul && some_script.py
该ASSOC .py
命令显示与扩展名关联的文件类型.py
(如果有)。如果没有关联(当系统中未安装 Python 时,必须为真),该命令将设置ERRORLEVEL
系统变量。
&&
现在,仅当前一个命令未设置时,才会执行命令分隔符之前的命令ERRORLEVEL
。因此,如果系统中没有文件类型关联,.py
则不会调用该脚本。此外,您还会在ASSOC
命令窗口中收到相关信息。(>nul
抑制“正常”输出,但不抑制No association
消息。)