2011年2月16日水曜日

環境変数の使い方。置換と部分文字列 - Windowsのコマンドプロンプト(bat,cmd)

Windowsコマンド。制御文と環境変数
○Windows XP
コマンドプロンプトでは、環境変数を、普通の変数のように扱う事が出来ます。
そして、環境変数を参照する時に、置換して取り出したり、一部分だけ取り出す事が出来ます。

o また、取り出した文字列を、環境変数に設定する事も出来ます。


**** 書式
--------
%環境変数名%
もしくは
%環境変数名:変更したい部分文字列=[変更後の部分文字列]%
もしくは
%環境変数名:~取り出し開始位置=取り出す長さ%
--------

o 環境変数名は、大文字小文字のどちらでも参照出来ます。
o 環境変数名 = 参照したい環境変数名です。
    + (環境変数への代入は、SET コマンドで行います。)
o 上から順に、普通に使う書き方、置換して使う書き方、一部分を取り出して使う書き方です。
    + 環境変数の値はそのままです。
    + ですので、後の事を気にせずに、各書式を使う事が出来ます。

** 普通に使う書き方
--------
%環境変数名%
--------


** 置換して使う書き方
--------
%環境変数名:変更したい部分文字列=[変更後の部分文字列]%
--------

o : = コロン
    + 前後に空白を入れずに書きます。
o 変更したい部分文字列 = 変更したい時に指定します。この項目は必須です。
o 変更後の部分文字列 = 省略すると、変更したい部分文字列を削除します。

** 一部分を取り出して使う書き方
--------
%環境変数名:~取り出し開始位置=取り出す長さ%
--------

o :~ = コロンと、チルダ
    + 前後に空白を入れずに書きます。
    + チルダは、キーボードの右上にあります。
    + Shiftキーを押しながら、数字の0キーの2つ右のキーを押します。
o 取り出し開始位置 = 部分文字列を取り出す位置です。先頭は 0 です。
    + 負の値を指定すると、後ろから数えます。
o 取り出す長さ = 部分文字列を取り出す長さです。


**** 戻り値 ( ERRORLEVELの値。確認分のみ )
o (設定なし) = この機能は、ERRORLEVELの値を更新しません。
    + 「=% の使い方が誤っています。」 = 置換する時には、「変更したい部分文字列」を書いて下さい。


**** 使用例
--------
@echo off
SET MIKUSAN=ミクさん
echo %MIKUSAN%ですか。
echo %MIKUSAN:さん=だよ%。
echo %MIKUSAN:~0,2%さんですね。
echo %MIKUSAN:~-4%だよ。あれっ。
--------

o 環境変数名は、大文字小文字のどちらでも参照出来ます。
o 表示結果は、「ミクさんですか。」「ミクだよ。」「ミクさんですね。」「ミクさんだよ。あれっ。」になります。


**** 機能
o 環境変数です。
o 環境変数を参照する時には、置換して取り出したり、一部分だけ取り出す事が出来ます。
o また、取り出した文字列を、環境変数に設定する事も出来ます。
o 環境変数の有効期間については、「環境変数の生存期間について


**** 確認したバージョン
o Windows XP Service Pack 3


==
関連ページ:
    ▼Windowsコマンド。制御文と環境変数▼ABC順
    ▼Windowsコマンド一覧▼ABC順
    ▼コマンドプロンプト画面
    ▼制作メモ
    > 環境変数の生存期間について
    SET /A コマンドで数値計算出来る値の範囲(= 上限と下限)
    IF = 条件に一致したら実行する
    +
    SET = 環境変数を表示、設定、削除する。もしくは数値計算する
(2011年3月8日追加。書式欄にて、書式の説明毎に書式表示)