如何使用Windows批处理文件获取Python位置?

问题描述 投票:0回答:4

我需要创建一个 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 batch-file path pythonpath
4个回答
13
投票

由于 python 位于您的

PATH
中,您可以使用函数
where
,这是 Linux
whereis
函数的 Windows 类似物:

> where python.exe

查看详情这里。您可以将

where
命令的输出设置为变量,然后使用它(请参阅这篇文章)。


8
投票

如果您只有一个

python
实例,您可以尝试以下操作:

@ECHO OFF
FOR /f %%p in ('where python') do SET PYTHONPATH=%%p
ECHO %PYTHONPATH%

0
投票

当你知道答案时,为什么还要使用 WHERE 来搜索 python.exe?它在路径环境变量中!所以你需要做的就是扫描%path% var。可以这样做:

echo %path% | split ; | find /i "python"

好的,这里你需要分割程序,但它很容易制作(用 C 或批处理),无论如何你都需要它。


0
投票

不知何故,它只能通过在 for 命令中添加“delims=”来对我起作用:

@回声关闭 for /f "delims=" %%p in ('where python') 执行 SET PYTHONPATH=%%p 回声%PythonPATH%

结果: C:\TEMP>pypathtest.bat C:\Program Files (x86)\Python38-32\python.exe

© www.soinside.com 2019 - 2024. All rights reserved.