2011年1月16日日曜日

SHIFT = 引数(= %1など)の位置を1つずらす - Windowsのコマンドプロンプト(bat,cmd)

Windowsコマンド。プログラム実行関連
○Windows XP
次の時に指定された引数(= パラメーター)の位置を、1つ前にずらします。
o バッチファイルを呼び出す時に、後ろに引数を付けて呼び出す
o ラベルを呼び出す時に、後ろに引数を付けて呼び出す

次のような時に使うと便利です。
o 10番目以降の引数を使用したい時。(= コマンドプロンプトは、%9 までしか記述出来ません。)
o 全ての引数を、同じ論理で処理したい時。


**** 書式
--------
shift [/数字]
--------

o コマンド名は、大文字小文字のどちらでも大丈夫です。
o /数字 = ずらしたい引数の先頭を、「/ + 番号」の形で指定します。(/0から/8まで)
    + 例えば、/2 を指定すると、%3 以降の引数の位置が、1つ前にずれます。
    + %3の値が %2に移動し、%4の値が %3に移動します。そして、%0 と %1の値は変化しません。
o オプションを指定しない時、全ての引数が1つずれます。%1の値が %0に移動します。


**** 使用例
o オプションを使用しない時の例
--------
call ミクさんに挨拶.bat ネギ ミクさん ネギ ネギ
--------

-------- ミクさんに挨拶.bat
@echo off
echo おはようございます。%2
shift
echo 改めて、おはようございます。%1
--------


o オプションを使用した時の例
--------
call ミクさんとルカ様に挨拶.bat ミクさん リンちゃん レン君 ルカ様
--------

-------- ミクさんとルカ様に挨拶.bat
@echo off
echo %1、%4。おはようございます。
SHIFT /2
SHIFT /2
echo %1、%2。改めて、おはようございます。
--------



**** 機能
o バッチファイルやラベル呼び出しの時に指定された引数の位置を 1つ前にずらします。
o 何も指定しない時、 %1の値は %0に移動します。以降の引数も同様です。
o /数字の形で指定すると、「その数字」番目の引数以降を、ずらす対象とします。
    + /2を指定すると、%3の値は %2に移動します。%4以降も同様です。
    + そして、%0 と %1の値はそのまま残ります。


**** メモ
o オプションで指定する数字は、最初の1文字を採用しているみたいです。
    + /9 を指定すると、エラーメッセージが出ました。
    + /10 を指定すると、/1 と同じ結果になりました。


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


==
関連ページ:
    ▼Windowsコマンド。プログラム実行関連▼ABC順
    ▼Windowsコマンド一覧▼ABC順
    ▼コマンドプロンプト画面
    ▼制作メモ
    > SORT = ファイルの内容やコマンド出力結果を並べ替えて表示する
    変数 %0 = 実行中のバッチファイル名、もしくはCALLラベル名
    変数 %1 = バッチファイルやCALL文の最初の引数
    +
    CALL = バッチファイルやラベルを呼び出す
    GOTO = 指定したラベルに移動する

TIME = 時刻を表示、変更する - Windowsのコマンドプロンプト(bat,cmd)

Windowsコマンド。時刻関連
○Windows XP
パソコンの現在時刻を表示します。変更する事も出来ます。

o 時刻文字列を取得したい時は、%TIME% を使用する事も出来ます。


**** 書式
--------
time [/t | 時刻]
--------

o コマンド名やキーワードは、大文字小文字のどちらでも大丈夫です。
o /t = 現在時刻の表示だけを行います。
o 時刻 = 現在時刻の変更だけを行います。
    + 次の指定方法が可能です。
    + 12 = 1時間単位で指定
    + 12:34 = 1分単位で指定
    + 12:34:56 = 1秒単位で指定
    + 12:34:56.78 = 100分の1秒単位で指定

o 2つのオプションは、どちらか片方だけ指定します。
    + 両方指定すると、/t オプションのみ実行しました。
o オプションの指定が無い時、現在の時刻を表示して、新しい時刻の入力を求めます。
    + 時刻を変更したくない時は、Enterキーを押します。
    + 自動処理を行う場合は、オプションを付けるようにします。


**** 戻り値 ( ERRORLEVELの値。確認分のみ )
o 0 = 成功。このコマンドは、常に成功します。
    + 間違った引数を与えた時、このコマンドは再入力を促します。


**** 使用例
--------
time /t
time 12
time 12:39
time 12:39:39
time 12:39:39.39
--------



**** 機能
o パソコンの現在時刻を表示します。時刻を変更する事も出来ます。
o 時刻を変更すると、パソコンの現在時刻が変わります。


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


==
関連ページ:
    ▼Windowsコマンド。時刻関連▼ABC順
    ▼Windowsコマンド一覧▼ABC順
    ▼コマンドプロンプト画面
    ▼制作メモ
    > 変数 DATE = 現在の日付
    変数 TIME = 現在の時刻
    +
    DATE = 日付を表示、変更する
(2011年2月5日追加。戻り値)

DATE = 日付を表示、変更する - Windowsのコマンドプロンプト(bat,cmd)

Windowsコマンド。時刻関連
○Windows XP
パソコンが時計などで表示している日付を表示します。日付を変更する事も出来ます。

o 日付文字列を取得したい時は、%DATE% を使用する事も出来ます。


**** 書式
--------
date [/t | 日付]
--------

o コマンド名やキーワードは、大文字小文字のどちらでも大丈夫です。
o /t = 現在日の表示だけを行います。
o 日付 = 現在日の変更だけを行います。2010-03-09 のように指定します。
    + 「/」を使った入力も受け付けてくれました。2010/03/09

o 2つのオプションは、どちらか片方だけ指定します。
    + 両方指定すると、/t オプションのみ実行しました。
o オプションの指定が無い時、現在の日付を表示して、新しい日付の入力を求めます。
    + 日付を変更したくない時は、Enterキーを押します。
    + 自動処理を行う場合は、オプションを付けるようにします。


**** 戻り値 ( ERRORLEVELの値。確認分のみ )
o 0 = 成功。このコマンドは、常に成功します。
    + 間違った引数を与えた時、このコマンドは再入力を促します。


**** 使用例
--------
date /t
date 2010-03-09
--------



**** 機能
o パソコンが時計などで表示している日付を表示します。日付を変更する事も出来ます。
o 日付の表示形式は、Windowsの設定によって変わります。
    + Windows XPにおける変更手順は
        + スタートボタンから、「コントロールパネル」の「地域と言語のオプション」を選択します。
        + 出てくる画面で「カスタマイズ」ボタンをクリックします。
        + 更に出てくる「地域のオプションのカスタマイズ」画面で、「日付」タブをクリックします。
        + DATE コマンドに関係するのは、「短い形式」の方です。
        + 日付の形式を変更した後に「OK」ボタンか「適用」ボタンを押すと反映されます。
            + 「OK」ボタンは、設定画面を閉じます。
            + 「適用」ボタンは、設定画面を閉じません。
o 日付を変更すると、パソコンの日付が変わります。


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


==
関連ページ:
    ▼Windowsコマンド。時刻関連▼ABC順
    ▼Windowsコマンド一覧▼ABC順
    ▼コマンドプロンプト画面
    ▼制作メモ
    > TIME = 時刻を表示、変更する
    変数 DATE = 現在の日付
    変数 TIME = 現在の時刻
(2011年2月5日追加。戻り値)