【问题标题】:How to get Python location using Windows batch file?如何使用 Windows 批处理文件获取 Python 位置?
【发布时间】:2016-04-09 17:26:22
【问题描述】:

我需要创建一个 Windows 批处理脚本来创建一个特定文件并将其移动到 PYTHONPATH\Lib\distutils 文件夹。

这是我正在尝试做的事情:

ECHO [build] >> distutils.cfg
ECHO compiler=mingw32 >> distutils.cfg
MOVE distutils.cfg PYTHONPATH\Lib\distutils

但是,PYTHONPATH 不存在,但我知道 Python 位置设置在 PATH 中,我可以检查。 如何解析 PATH 并从中提取 Python 位置?

【问题讨论】:

  • 你能试试%PYTHONPATH%吗?
  • 不,PYTHONPATH 不存在。老实说,我不知道创建它的 Python 安装程序。基于 Windows 的 Python 安装程序都将 Python 位置添加到 PATH

标签: python batch-file path pythonpath


【解决方案1】:

由于 python 在您的PATH 中,您可以使用函数where,它是Linux whereis 函数的Windows 模拟:

> where python.exe

查看详情here。您可以将where 命令的输出设置为一个变量,然后使用它(参见this post)。

【讨论】:

    【解决方案2】:

    如果你只有一个python 实例,你可以试试这个:

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

    【讨论】:

      【解决方案3】:

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

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

      好的,这里你需要 split prog,但它很容易制作(在 C 或批处理中)而且你仍然需要它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-05-13
        • 1970-01-01
        • 1970-01-01
        • 2010-09-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多