如何使用 Windows 批处理文件获取 Python 位置?
How to get Python location using Windows batch file?
我需要创建一个 windows 批处理脚本,用于创建一个特定文件并将其移动到 PYTHONPATH\Lib\distutils
文件夹。
这是我正在尝试做的事情:
ECHO [build] >> distutils.cfg
ECHO compiler=mingw32 >> distutils.cfg
MOVE distutils.cfg PYTHONPATH\Lib\distutils
然而,PYTHONPATH
不存在,但我知道 Python 位置设置在 PATH
中,我可以检查。
我如何解析 PATH
并从中提取 Python 位置?
由于 python 在您的 PATH
中,您可以使用函数 where
,它是 Linux whereis
函数的 Windows 类似物:
> where python.exe
查看详情here. You can set output of where
command to a variable and then use it (see this post)。
如果你只有一个 python
实例,你可以试试这个:
@ECHO OFF
FOR /f %%p in ('where python') do SET PYTHONPATH=%%p
ECHO %PYTHONPATH%
既然知道答案,为什么还要使用 WHERE 搜索 python.exe?它在路径环境变量中!所以你需要做的就是扫描 %path% 变量。可以这样做:
echo %path% | split ; | find /i "python"
好的,这里你需要 split prog,但它很容易制作(用 C 或批处理)而且你无论如何都需要它。
我需要创建一个 windows 批处理脚本,用于创建一个特定文件并将其移动到 PYTHONPATH\Lib\distutils
文件夹。
这是我正在尝试做的事情:
ECHO [build] >> distutils.cfg
ECHO compiler=mingw32 >> distutils.cfg
MOVE distutils.cfg PYTHONPATH\Lib\distutils
然而,PYTHONPATH
不存在,但我知道 Python 位置设置在 PATH
中,我可以检查。
我如何解析 PATH
并从中提取 Python 位置?
由于 python 在您的 PATH
中,您可以使用函数 where
,它是 Linux whereis
函数的 Windows 类似物:
> where python.exe
查看详情here. You can set output of where
command to a variable and then use it (see this post)。
如果你只有一个 python
实例,你可以试试这个:
@ECHO OFF
FOR /f %%p in ('where python') do SET PYTHONPATH=%%p
ECHO %PYTHONPATH%
既然知道答案,为什么还要使用 WHERE 搜索 python.exe?它在路径环境变量中!所以你需要做的就是扫描 %path% 变量。可以这样做:
echo %path% | split ; | find /i "python"
好的,这里你需要 split prog,但它很容易制作(用 C 或批处理)而且你无论如何都需要它。