2018年10月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
無料ブログはココログ

« バッチファイル、コンソールアプリなどを非表示で実行する。 | トップページ | 非表示のアプリを表示したり、コマンドラインを区別してプロセスを終了させる。 »

2006年10月17日 (火)

環境変数は一般的に遅延展開を使うべし。

一般のスクリプト言語では、変数の値によって構文エラーになったりしませんが、
バッチファイルでは、
%変数%の値にシェルの特殊文字<|>(&)"や構文のキーワードが含まれていると、
構文エラーになったり、意図しない処理に変わったり、します。
%変数%は、Eval()みたいなもんです。

ところが、遅延展開の!変数!は、一般のスクリプト言語の変数のように使えます。

なので、環境変数は、原則として、遅延展開を用いることにしましょう。

Eval()みたいな用途のときだけ、例外として、%変数%を使いましょう。

« バッチファイル、コンソールアプリなどを非表示で実行する。 | トップページ | 非表示のアプリを表示したり、コマンドラインを区別してプロセスを終了させる。 »