簡體   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