이전 값을 덮어 쓰는 사용자 경로를 설정하려면
setx PATH "C:\MyPath1"
"C : \ MyPath0"값을 기존 사용자 PATH 앞에 추가하려면 다음을 수행하십시오.
for /f "skip=2 tokens=3*" %a in ('reg query HKCU\Environment /v PATH') do @if [%b]==[] ( @setx PATH "C:\MyPath0;%~a" ) else ( @setx PATH "C:\MyPath0;%~a %~b" )
기존 사용자 PATH에 "C : \ MyPath2"값을 추가하려면 다음을 수행하십시오.
for /f "skip=2 tokens=3*" %a in ('reg query HKCU\Environment /v PATH') do @if [%b]==[] ( @setx PATH "%~a;C:\MyPath2" ) else ( @setx PATH "%~a %~b;C:\MyPath2" )
User PATH는 공백을 포함하거나 포함하지 않을 수 있으므로 if-else 조건이 필요합니다. 원하는 경우 값을 인수로 설정 / 추가 / 추가하는 일반 배치 파일 (각 % 기호를 두 배로)로 명령을 저장할 수 있습니다.
배치 파일
:: PATH-ADD - add a path to user path environment variable
@echo off
setlocal
:: set user path
set ok=0
for /f "skip=2 tokens=3*" %%a in ('reg query HKCU\Environment /v PATH') do if [%%b]==[] ( setx PATH "%%~a;%1" && set ok=1 ) else ( setx PATH "%%~a %%~b;%1" && set ok=1 )
if "%ok%" == "0" setx PATH "%1"
:end
endlocal
echo.
;%PATH%
기존 경로 (시스템 경로에서 파생 됨)를 추가하도록 요청 하는 것 같습니다 .