繁体   English   中英

如何将批处理文件的目录添加到 Windows PATH?

[英]How to add the directory of a batch file to Windows PATH?

我有一些为 Linux 开发的 Python 代码,来自我不想更改的存储库。 该代码使用subprocess Python 模块调用名为colmap的命令行工具。

为了让这段代码在 Windows 下运行,我安装了colmap ,将包含colmap.exebin文件夹以及包含文件COLMAP.bat的父文件夹添加到了PATH中。 然后,我还必须通过subprocess.run更改 Python 代码以运行colmap.bat而不是colmap
我想避免后一步,因为它会使 Python 代码与 Linux/Mac 不兼容,我想避免通过platform.system()添加操作系统检查。

有没有办法将colmap.exe添加到PATH ,以便可以通过colmapcmd.exe调用它?

就像我说的, bin文件夹已经在PATH上。 我已经尝试创建名为COLMAP.batcolmap快捷方式并将 COLMAP.bat 重命名为COLMAP.batcolmap

这是批处理文件的内容:

set SCRIPT_PATH=%~dp0

set PATH=%SCRIPT_PATH%\lib;%PATH%
set QT_PLUGIN_PATH=%SCRIPT_PATH%\lib\plugins;%QT_PLUGIN_PATH%

set COMMAND=%1
set ARGUMENTS=
shift
:extract_argument_loop
if "%1"=="" goto after_extract_argument_loop
set ARGUMENTS=%ARGUMENTS% %1
shift
goto extract_argument_loop
:after_extract_argument_loop

if "%COMMAND%"=="" set COMMAND=gui

"%SCRIPT_PATH%\bin\colmap" %COMMAND% %ARGUMENTS%
if "%COMMAND%"=="" set COMMAND=gui

set "colmapexe="
for /f "delims=" %%b in ('where colmap.exe') do if not defined colmapexe set "colmapexe=%%b"

if defined colmapexe ("%colmapexe" %COMMAND% %ARGUMENTS%) else echo Colmap.exe not found&pause

应该通过定位colmap.exe并将其安装在变量colmapexe中来工作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM