Ответы:
Из текущей 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"
cmd
процесс и установить их там. Например, cmd /C "set ENVVAR=abc && dir"
. Поскольку это не повлияет на родительский процесс, оно будет эффективно «очищено» при выходе.