Відповіді:
З поточної 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"
. Оскільки це не вплине на батьківський процес, він буде ефективно "очищений" при виході.