为何从CMD用快捷方式无法运行Python脚本,仅完整路径可行?
问题分析与解决办法
1. 为什么py pw.py cmd无法运行
当你在C:\Users\myname>目录下执行py pw.py cmd时,py.exe只会在当前工作目录(也就是C:\Users\myname\)里找pw.py,不会去你添加到PATH的目录里搜索脚本文件——PATH环境变量是给系统查找可执行程序(比如.exe、.bat)用的,不是给py.exe找Python脚本用的。
解决办法:
- 方式一:先切换到脚本所在目录再执行
cd C:\Users\myname\MyScripts && py pw.py cmd - 方式二:直接用批处理文件触发(更方便,下文详细说明)
2. 为什么py "C:\Users\myname\MyScripts\pw.bat" cmd不行
py.exe是专门运行Python脚本的工具,不能用来执行批处理文件(.bat)。批处理是Windows原生脚本,直接运行即可,不需要通过py.exe调用。
批处理文件的正确用法与优化
因为你已经把C:\Users\myname\MyScripts加到PATH里了,直接在命令行输入以下命令就能运行脚本:
pw cmd
(系统会自动在PATH目录中找到pw.bat并执行)
另外,建议把pw.bat的内容修改为:
@py.exe "%~dp0pw.py" %* @pause
这里的%~dp0代表批处理文件所在的绝对路径,就算以后移动脚本目录,批处理也不用手动修改路径,更灵活。
3. 额外说明
你给Python脚本添加的#! python3头信息,在Windows系统下几乎没有作用——这个是Linux/macOS系统用来指定解释器的语法,Windows下还是靠py.exe或python.exe识别运行脚本。
内容的提问来源于stack exchange,提问作者xXSnowieXx
相关产品推荐
相关产品推荐

