環境変数を遅延展開する第3の方法とは?
第1は、!環境変数!
第2は、call %%環境変数%%
第3は、for
for /f "delims== tokens=1*" %%i in ('set 環境変数') do echo %%j
数字限定でよければ、
for /f %%i in ('set /a 環境変数') do echo %%i
第2の方法は、ifやforに使えませんが、第3の方法なら使えます。
(rem これは駄目。
set x=1
call if %%x%%==1 echo %%x%%
)
(rem これはおk。
set x=1
for /f "delims== tokens=1*" %%i in ('set x') do if %%j==1 echo %%j
)
また、第3の方法ならバッチファイル外でも使えます。
« 「管理者として実行」されたコマンドラインから、「標準ユーザとして実行」する。 | トップページ | エクスプローラから「別のユーザーとして実行」する。 »