Есть ли способ установить переменные среды для одной команды в 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"