自动确定python exe路径并在批处理文件中相应地设置环境变量?

时间:2015-10-20 00:00:49

标签: python

我安装了Python:

  

C:\ Python27 \ python.exe

我需要通过设置环境变量从批处理文件运行Python脚本 这指向Python exe。 更新:基于此处的响应,我发现注册表中的安装目录有:

  

HKLM \ SOFTWARE \ Wow6432Node \ Python \ PythonCore \ 2.7 \ InstallPath

with Name:默认和数据:C:\ Python27 \

现在,运行批处理命令,如下所示:

for /f "tokens=*" %%A in ('REG QUERY "HKLM\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\InstallPath" /v Default') DO (
    set CHESSPYTHONPATHv1=%%B)

给出错误:

  

系统无法找到指定的注册表项或值。

Q1)我做错了什么? Q2)这仍然需要通过手动查看注册表来获知版本号。 如果批处理文件要在另一台具有不同Python版本的PC上运行,则会失败。如何指定确定安装版本的注册表搜索路径?
由于
sedy

1 个答案:

答案 0 :(得分:1)

我假设你需要批量做所有事情。您可以尝试以下方法:

@echo off
for /f "delims=" %%a in ('REG QUERY "HKLM\SOFTWARE\Python\PythonCore" /s ^| findstr InstallPath') do  (
  set key=%%a
  goto :endfor
)
:endfor
for /f "tokens=2*" %%a in ('REG QUERY %key% /ve') do set "CHESSPYTHONPATHv1=%%~bpython.exe"
echo %CHESSPYTHONPATHv1%

第一个注册表查询中的第一个结果应该包含InstallPath。第二个查询检索Python路径。