Improve path enhancement handling in lib_path.cmd

Refactor path enhancement logic for clarity and robustness.
This commit is contained in:
David Refoua
2025-11-06 18:26:41 +03:30
committed by GitHub
parent 6f6c21dcae
commit f6eb7aa4f8

View File

@@ -91,13 +91,13 @@ exit /b
if /i "!position!" == "append" (
if "!found!" == "0" (
echo "!PATH!"|!WINDIR!\System32\findstr >nul /I /R /C:";!find_query!\"$"
echo "!PATH!"|!WINDIR!\System32\findstr >nul /I /R /C:";!find_query!$"
call :set_found
)
%print_debug% :enhance_path "Env Var END PATH !find_query! - found=!found!"
) else (
if "!found!" == "0" (
echo "!PATH!"|!WINDIR!\System32\findstr >nul /I /R /C:"^\"!find_query!;"
echo "!PATH!"|!WINDIR!\System32\findstr >nul /I /R /C:"^!find_query!;"
call :set_found
)
%print_debug% :enhance_path "Env Var BEGIN PATH !find_query! - found=!found!"
@@ -190,13 +190,28 @@ exit /b
exit /b 1
)
rem Parse arguments robustly:
rem Accept either public form: "[dir_path]" [max_depth] [append]
rem or internal recursive form: "[dir_path]" [depth] [max_depth] [append]
set "depth=%~2"
set "max_depth=%~3"
set "position="
if "%~4" neq "" if /i "%~4" == "append" (
set "position=%~4"
) else (
set "position="
if /i "%~4" == "append" set "position=append"
if /i "%~3" == "append" (
set "position=append"
set "max_depth="
)
if not defined depth set "depth=0"
if not defined max_depth (
if defined depth (
rem If only one numeric argument provided, treat it as max_depth
set "max_depth=%depth%"
set "depth=0"
) else (
set "max_depth=1"
)
)
dir "%add_path%" 2>NUL | findstr -i -e "%find_pathext%" >NUL
@@ -232,8 +247,6 @@ exit /b
call :loop_depth
)
set "PATH=%PATH%"
exit /b
:set_depth