回答:
SETグローバル環境変数を設定します。スクリプトの実行後も保持されます。
例を見てみましょう。
まず、変数をクリアして、存在しないことを確認します。
C:\Users\Oliver\Desktop>set TEST=
簡単なテスト:
C:\Users\Oliver\Desktop>echo %TEST%
%TEST%
そのバッチファイルを作成して実行します。
C:\Users\Oliver\Desktop>echo set TEST=something>test.bat
C:\Users\Oliver\Desktop>test.bat
C:\Users\Oliver\Desktop>set TEST=something
.batファイルの実行後にTESTの値を見てみましょう。
C:\Users\Oliver\Desktop>echo %TEST%
something
そのため、はい、スクリプトの最後で変数をクリアすることをお勧めします。
さらに良いのは、問題全体を使用SETLOCALしENDLOCALて回避することです。
ここで、and .batを使用する新しいファイルを作成しました:SETLOCALENDLOCAL
C:\Users\Oliver\Desktop>type test.bat
setlocal
set TEST=something
endlocal
クリアTESTしてエコーして、クリーンな状態で開始するようにします。
C:\Users\Oliver\Desktop>set TEST=
C:\Users\Oliver\Desktop>echo %TEST%
%TEST%
さて、新しいものを実行しましょう.bat:
C:\Users\Oliver\Desktop>test.bat
C:\Users\Oliver\Desktop>setlocal
C:\Users\Oliver\Desktop>set TEST=something
C:\Users\Oliver\Desktop>endlocal
今TESTは空のままです:
C:\Users\Oliver\Desktop>echo %TEST%
%TEST%