Ответы:
Из текущей 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". Поскольку это не повлияет на родительский процесс, оно будет эффективно «очищено» при выходе.