2012年7月12日木曜日

変数 %1 = バッチファイルやCALL文の最初の引数 - Windowsのコマンドプロンプト(bat,cmd)

Windowsコマンド。プログラム実行関連
○Windows XP
実行中のバッチファイルを呼び出した時の、最初の引数が入っています。
但し、例外もあります。

o CALLコマンドでラベルの内容を実行している間は、CALLコマンドで指定した最初の引数が入ります。
o SHIFT コマンドを使用すると、最初の引数以外を取得する事が出来ます。
    + 詳しくは、「SHIFT = 引数(= %1など)の位置を1つずらす


**** 書式
--------
%1
--------



**** 戻り値 ( ERRORLEVELの値。確認分のみ )
o (設定なし) = この機能は、ERRORLEVELの値を更新しません。


**** 使用例
-------- ミクさん.bat
@echo off
echo %1だよ。
--------


o 実行コマンド
--------
ミクさん.bat ミク
--------



**** 機能
o 通常は、実行中のバッチファイルを呼び出した時の、最初の引数が入っています。
o 但し、例外もあります。
    + CALLコマンドでラベルの内容を実行している間は、CALLコマンドで指定した最初の引数が入ります。
    + SHIFT コマンドを使用すると、最初の引数以外を(位置をずらして)取得する事が出来ます。
o %と1の間にキーワードを入れると、変数の取り出し方を変える事が出来ます。
    + 詳しくは、「%変数の使い方


**** メモ
o %1 では正しくファイル名を受け取れないパターンがありますので、注意します。
    + バッチファイルにファイルをドロップして起動する時で、
    + かつ、%1 に入るべきファイル名の中に、全角空白が1つ以上混じっていて、半角空白が全く入っていない場合


**** 確認したバージョン
o Windows XP Service Pack 3 (32ビット版)


==
関連ページ:
    ▼Windowsコマンド。プログラム実行関連▼ABC順
    ▼Windowsコマンド一覧▼ABC順
    ▼コマンドプロンプト画面
    ▼制作メモ
    > 変数 %* = %1以降の引数全て
    環境変数 PATH = 実行可能ファイルを検索する場所
    環境変数 PATHEXT = 実行可能ファイルの拡張子