めったに作らないけど、わけあってWindowsのバッチをかきました。
少し学んだことがあったので、メモがてらに残しておきます。
ifやforの中では、遅延環境変数展開をしないといけないので、setlocal enabledelayedexpansionを宣言し、ブロック内では%variable%ではなく!variable!を使う。
ローカル変数を使うにはsetlocalとendlocalを使い、この2つの間でsetコマンドを使って変数を操作すると、ローカル変数になる。
setlocal enabledelayedexpansionの中では、変数はローカル変数になる。
endlocalするときに、外部に変数を持ち出したいときは、
endlocal && set variable1=%variable1% && set variable2=%variable2%
とすることで、外部に変数を持ち出せる。
setlocal~endlocalの中で、callをすると、callしていった先でもローカル変数のままとなる。
0 件のコメント:
新しいコメントは書き込めません。