ENVVAR=abc command
Unix 와 같이 Windows에서 단일 명령에 대한 환경 변수를 설정하는 방법이 있습니까?
set
Windows에서 명령으로 설정 한 변수 는 다음 명령에 남아있는 것처럼 보이지만 이것이 원하는 것은 아닙니다.
답변
단일 명령에 환경 변수를 설정하는 방법이 있습니까?
현재 cmd
쉘에서 :
변수를 직접 지워야합니다.
set ENVVAR=abc && dir & set ENVVAR=
배치 파일에서 :
setlocal
및 을 사용할 수 있습니다 endlocal
.
@echo off
setlocal
set ENVVAR=abc && dir
endlocal
자식 cmd
셸을 사용하십시오 .
cmd /c
자식 셸을 만드는 데 사용할 수 있습니다 .
변수는 자식 쉘에서 설정되며 부모 쉘에 영향을 미치지 않습니다 ( jpmc26 의 주석에서 지적한 바와 같이 ).
cmd /C "set ENVVAR=abc && dir"
추가 자료
- Windows CMD 명령 행의 AZ 색인 -Windows cmd 행과 관련된 모든 것에 대한 훌륭한 참조 자료.
- cmd- 새 CMD 셸을 시작하고 선택적으로 명령 / 실행 프로그램을 실행합니다.
- endlocal- 배치 파일에서 환경 변경의 현지화를 종료합니다. 한 배치 파일에서 다른 배치 파일로 변수를 전달하십시오.
- 리디렉션 -리디렉션 연산자.
- set -CMD 환경 변수를 표시, 설정 또는 제거합니다. SET로 변경 한 내용은 현재 CMD 세션 동안 만 유지됩니다.
- setlocal- 배치 파일에서 환경 변수의 가시성을 제어하는 옵션을 설정합니다.