You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Windows命令行中直接通过脚本名运行Python脚本?

如何在Windows命令行中直接通过脚本名运行Python脚本?

看起来你遇到的问题确实挺让人困惑的——明明assoc和ftype的配置都指向了Python Launcher,但输入脚本名却直接打开VS Code。我来帮你梳理几个可能的原因和解决办法:

1. 检查PATHEXT环境变量(最常见原因)

Windows命令行在你输入不带扩展名的命令时,会按照PATHEXT环境变量里的扩展名顺序去查找匹配的文件。如果.PY不在这个列表里,系统就不会自动识别blah对应blah.py,反而可能把它当作无扩展名文件用默认程序(也就是VS Code)打开。

  • 打开命令提示符,运行:
    echo %PATHEXT%
    
  • 看输出里有没有.PY。如果没有,按以下步骤添加:
    • 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
    • 在「系统变量」里找到PATHEXT,点击「编辑」
    • 在现有内容末尾添加;.PY(注意前面的分号是分隔符,不能少)
    • 保存后重启命令提示符,再试试输入blah。

2. 重置.py文件的默认打开方式

有时候Windows的图形界面默认程序设置会覆盖命令行的assoc/ftype配置,导致双击或命令行调用时优先用VS Code打开。

  • 找到任意一个.py文件,右键→「打开方式」→「选择其他应用」
  • 勾选「始终使用此应用打开.py文件」
  • 在列表里选择「Python Launcher for Windows (py.exe)」(如果没看到,点击「更多应用」→「在这台电脑上查找其他应用」,找到C:\WINDOWS\py.exe)
  • 确认后再回到命令行测试。

3. 排查是否有别名或同名文件干扰

  • 检查是否设置了命令别名:运行doskey /macros,看有没有blah相关的宏定义,如果有,用doskey blah=删除它。
  • 检查PATH里是否有同名的其他文件:运行where blah,看输出的路径是不是你的blah.py。如果有其他同名文件(比如blah.bat、blah.exe),系统会优先执行这些,你可以重命名或者调整PATH顺序。

4. 强制用Python Launcher运行脚本(临时/应急方案)

如果上面的方法都暂时没生效,你可以不用写bat文件,直接在命令行输入:

py blah

这个命令会直接调用Python Launcher运行blah.py,绕开扩展名关联的问题。

备注:内容来源于stack exchange,提问作者Darren Oakey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 13:53:10