回答:
これをバッチファイルに書き込むことができます。
@echo off
if exist ".\backupenv.bat" del ".\backupenv.bat"
for /f "tokens=1* delims==" %%a in ('set') do (
echo set %%a=%%b>> .\backupenv.bat
set %%a=
)
基本的に各環境変数を実行し、それらをバッチファイル(backupenv.bat
)にバックアップしてから、各変数をクリアします。それらを復元するには、backupenv.bat
ファイルを実行できます。
バッチファイルのすべての環境変数のみをクリアする場合は、さらに簡単になります。
@echo off
Setlocal enabledelayedexpansion
Set >set
For /F "tokens=1* delims==" %%i in (set) do set %% %i=
Del set
Set
最後の行はすべての環境変数を出力しますが、環境変数は存在しないはずで、コードが機能していることを確認します。
Setlocal
が使用されるため、バッチの終了後にすべての環境変更が失われます。したがってSet
、バッチの後に入力すると、すべての環境変数がまだ存在することがわかります。したがって、バックアップファイルに保存する必要はありません。
env
?私はそのことを聞いたことがなく、ここでは機能しません。