炎のコマンドプロンプト入門 Since 2003.7.25

■ ホーム
■ はじめに
■ コマンド辞典
■ コマンドプロンプト活用
■ コマンドマクロ
■ バッチファイル
■ リンク集

■ バッチファイル

● 環境変数

1、環境変数とは

 環境変数とは、パソコンの環境設定に関する値を格納するための変数です。Windows のシステムに関する情報は、%SYSTEMROOT% や %PATH% などの環境変数に、あらかじめ格納されおり、これを利用すると異なる環境(他のパソコン)でも動作するバッチファイルを作成することができます。

 また環境変数は、ユーザーが独自の名前で定義することもできます。したがってバッチファイル中では、環境変数を文字列や数値を格納するための変数として利用することができます。環境変数はバッチファイルを作成する上での基本事項です。ここでしっかりマスターしていってください!


2、環境変数の設定法

 環境変数は以下の set コマンドによって設定します。

   set [環境変数名]=[環境変数の値]

 このように入力すると、環境変数に値を代入することができます。たとえば、N という環境変数に Hello という文字列を入れるなら、set N=
Hello と入力します。もちろん set I=6 のように数値を代入することもできます。また set M=Hello World のように途中にスペースを入れることも可能です。

 ただし環境変数にリダイレクトやパイプ、条件付き処理記号などの特殊記号(>,>>,<,|,&)を代入する場合には、特殊記号の先頭にエスケープ文字(^)を付ける必要があります。たとえば環境変数 K に special& という文字列を入れるなら、set K=special^& と入力します。

 なお自分で定義した環境変数は、コマンドプロンプトを終了すると、すべて消去されてしまうのでご注意ください!


3、環境変数の参照

 環境変数を参照するには、以下のように環境変数を%で囲んだものを用います。

   %[環境変数名]%

 たとえば、set desk="C:\Documents and Settings\Owner\デスクトップ" と設定した環境変数を表示させるのであれば、echo %desk% と入力してください。すると %desk% の部分が置き換えられて、echo "C:\D
ocuments and Settings\Owner\デスクトップ" というコマンドが実行されます。この結果、環境変数の値である "C:\Documents and Settin
gs\Owner\デスクトップ" が表示されます。

 同様に、カレントディレクトリをデスクトップにするのであれば、cd %desk% と入力してください。今度は cd "C:\Documents and Settings\
Owner\デスクトップ" というコマンドが実行されるでしょう。このように環境変数によって、長いパスを短い環境変数名に置き換えて使うことができます。

 また現在設定されている環境変数を表示させるには、次のように入力します。

   set [接頭辞]

 このように入力すると、その接頭辞から始まる環境変数とその値を表示することができます。接頭辞をいれずに『set』とだけ入力すると、現在設定されている環境変数名とその値をすべて表示することができます。

環境変数の設定と参照
             ※画像をクリックすると説明が表示されます


4、環境変数による演算処理

 set コマンドでは環境変数を設定する以外にも、オプション /a を使うことによって、簡単な演算処理を行う(整数演算のみ)ことができます。演算処理を行うには、以下のように入力します。

   set /a [環境変数名]=[演算処理の式]

 たとえば、N という環境変数に5と2の和を計算させるには、set /a N=5+2 と入力します。もちろん差(-)や積(*)や商(/)の演算子も利用できます。また環境変数の値を算術演算に使うことができるので、set /a N=N+1 のように入力して、N の値を1つずつ増やしていくことも可能です。

環境変数の演算
             ※画像をクリックすると説明が表示されます


5、環境変数中の文字列の置換

 環境変数として取得した文字列は、次のコマンドを実行することによって、環境変数値中にある任意の文字列を置き換えることができます。

   %[環境変数]:[置換元文字列]=[置換先文字列]%

 このように入力すると、環境変数値の置換元文字列を置換先文字列に置き換えることができます。これだけではわかりにくいと思うので、具体例をご紹介いたしましょう。echo %date% と入力してみてください。環境変数 date には、あらかじめ現在の日付が格納されているので、2003/09/05 のように現在の日付が表示されると思います。では置換コマンドを使って、echo %date:/=-% と入力してください。すると環境変数 %date% 中の / が - に置換されるため、2003-09-05 と表示されたと思います。同様に echo %date:/=% と入力すれば、 / を取り除いて 20030905 のように表示させることもできます。

 また以下のように、環境変数を置換したものを他の環境変数(同じものでも可)に設定すれば、何度でも置換を行うことができます。

   set [環境変数]=%[環境変数]:[置換元文字列]=[置換先文字列]%


6、環境変数中の文字列の取り出し

 環境変数として取得した文字列を操作する方法は、置換だけではありません。以下のコマンドを入力すれば、環境変数値中にある任意の位置から任意の文字数を、取り出すことができます。

   %[環境変数]:~[オフセット(位置)],[文字数]%

 このように入力すると、オフセットで指定した位置(オフセット数+1の位置)から指定した文字数を取り出すことができます。たとえば、set N=123456789 と設定した環境変数に対して、echo %N:~2,2% と入力してみてください。すると(オフセット数2+1=)3文字目の位置から2文字だけ取り出されます。したがってプロンプト上には、34 と表示されると思います。

 また文字数の項目は省略することができ、echo %N:~2% と入力すると、(オフセット数2+1=)3文字目の位置から最後まで取り出すことができます。

文字列の置換と取り出し
             ※画像をクリックすると説明が表示されます


←BACK    NEXT→

Last updated on Nov. 8, 2003
Copyright (C) 2003 Chitose , All Rights Reserved.
ご意見・ご感想・ご質問等はこちらまで
E-mail : hono_prompt@yahoo.co.jp
1