回答:
現在の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"
。親プロセスには影響しないため、終了時に効果的に「クリア」されます。