Есть ли способ установить переменные среды для одной команды в Windows, например, ENVVAR=abc command в Unix?
Кажется, что переменные, установленные командой set в Windows, остаются для следующих команд, но это не то, что я хочу.
Есть ли способ установить переменные среды для одной команды в Windows, например, ENVVAR=abc command в Unix?
Кажется, что переменные, установленные командой 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"