- 追加された行はこの色です。
- 削除された行はこの色です。
#navi(全般)
''変数について''
#contents
////////////////////////////////////////////////////////////////////////////
*隠し環境変数 [#z04be748]
set "" を実行すると、set を実行したときに加えて、= で始まる環境変数が表示される。
:%=ExitCode%|直近に実行した外部コマンドの終了コード。外部コマンド実行直後は、ERRORLEVEL と同じ値。内部コマンドの実行によって影響は受けない。
:%=ExitCode%|直近に実行した外部コマンドの終了コード。外部コマンド実行直後は、ERRORLEVEL と同じ値。
内部コマンドの実行によって ERRORLEVEL が変化しても影響は受けない。
:%=C:%|Cドライブのカレントディレクトリ。%=D:%等も同様。
:%=C:%|Cドライブのカレントディレクトリ。%=D:% 等も同様。
そのドライブにカレントディレクトリを移動したことが無ければ、
そのドライブレターに対応する変数は存在しない。
////////////////////////////////////////////////////////////////////////////
*ERRORLEVEL の値セット [#ia768186]
*ERRORLEVELの値セット [#ia768186]
ERRORLEVELの値はsetで変更できないので、任意の値にセットするには、
echo exit /b 値 > tmp.bat
call tmp.bat
のように、exit を含んだ一時バッチファイルを作る必要がある。
ただし、多くの場合はゼロか非ゼロにセットできれば十分だろう。
いくつかの内部コマンドは ERRORLEVEL の値を変更するので、それを利用する。
いくつかの内部コマンドは ERRORLEVEL の値を変更するので、
副作用が無く ERRORLEVEL に影響する内部コマンドを利用する。
メッセージが出る場合があるので、NUL にリダイレクトする。
cd . → 0 にセット
md . 2>NUL → 1 にセット
ver >NUL → 0 にセット
verify >NUL → 0 にセット
verify X 2>NUL → 1 にセット
setlocal /? には、verify other で 1 にセットする例がある。
////////////////////////////////////////////////////////////////////////////
#navi(全般)