답변:
다른 환경 변수와 마찬가지로 SET
:
SET PATH=%PATH%;c:\whatever\else
안전성 검사를 먼저 구축하려면 새 경로가 먼저 존재하는지 확인하십시오.
IF EXIST c:\whatever\else SET PATH=%PATH%;c:\whatever\else
해당 배치 파일에 로컬로 저장하려면 setlocal
다음을 사용하십시오 .
setlocal
set PATH=...
set OTHERTHING=...
@REM Rest of your script
setlocal
/ endlocal
에 대한 문서를주의 깊게 읽고 해당 사이트의 다른 참조를 살펴보십시오. 함수 도 매우 흥미롭고 구문은 까다 롭습니다.
구문 페이지는 기본 시작한다.
SET
을 수행하기 전에 알아야 할 사항입니다.
SETLOCAL
, 개별 명령 프롬프트 세션을 위해서만 가능합니다. 하나 이상의 배치 파일 에서이 작업을 수행하고을 사용 EXIT /B %N%
하면 SETLOCAL
기본적으로 스크립트가 종료 될 때 변경 사항을 덤프합니다. :-/
중요한 세부 사항이 있습니다.
set PATH="C:\linutils;C:\wingit\bin;%PATH%"
작동하지 않는 동안
set PATH=C:\linutils;C:\wingit\bin;%PATH%
공장. 차이점은 따옴표입니다!
UPD는 또한 venimus의 코멘트를 참조하십시오
SET "PATH=...%PATH%"
경로에 존재하는 공간이 있으면 오류나 오작동이 발생합니다. 이와 같이 따옴표로 묶으면 포함되지 않지만 변수를 올바르게 설정합니다. 다른 env 변수에서도 동일하게 작동합니다.
맞습니다. 그러나 영구적으로 변경되지는 않지만 현재 명령 프롬프트에서만 영구적으로 변경하려면 다음과 같이 사용해야합니다.
setx ENV_VAR_NAME "DESIRED_PATH" /m
이것은 영구적으로 변경되며 다른 배치 스크립트로 덮어 쓸 수 있습니다.
/m
후에 setx
해야합니까?
/m
마지막에 DESIRED_PATH
/ m을 추가하여 현재 사용자에게만 추가했습니다.
echo %path%
현재로드 된 경로를 얻게됩니다. 사용자 및 시스템 환경 변수를 서로 구별해야합니다. 그런 다음 올바른 위치에 수동으로 적용 할 수 있습니다.
setlocal
배치 파일 에 a 를 추가 하면 경로는 파일에서만 볼 수 있습니다.