在windows任意目录执行python脚本
在Linux下想要在任意目录执行一个python脚本,很简单:
- 把python脚本添加可执行权限
- 把python脚本放到PATH所包含的任意一个目录下,不和已有文件重名即可;如果重名则放到最前一个
- python文件名可以不以".py"结尾,只要以shabang (
#! /usr/bin/env python
)开头即可
然而在Windows下这么做不行。研究了一下Miniconda自带的pip
命令。实际上:
- 调用pip,调用的是pip.exe
- pip.exe是二进制文件,咱也不知道它里面是什么鬼,大概猜一下是去调用pip-script.py
- pip-script.py的内容,和linux下的
pip
内容基本一致
因此,如法炮制。例如我要放一个命令叫做c3pd,则:
- 把c3pd-script.py放到
pip.exe
所在目录(E:/soft/Miniconda/Scripts) - 同一目录下,放一个
c3pd.bat
脚本,里面内容是调用c3pd-script.py
。注意路径要用~dp0
为前缀;注意接收所有参数:
c3pd.bat内容:
python %~dp0/c3pd-script.py %*
其中%*
相当于bash里的$@
。
参考
Greatness is never a given, it must be earned.