2011年1月14日金曜日

バッチファイルのIF文やFOR文の中にコマンドを複数行書く方法 - Windowsのコマンドプロンプト(bat,cmd)

Windowsコマンド。制御文と環境変数
○Windows XP
IF文や FOR文。「コマンドを複数実行できたらいいなあ。」と思った事はありませんか。
バッチファイルに書いている時は、小括弧(= 丸括弧)を使う事が出来ます。コマンドを入れる所を、「(」と「)」で括ります。


**** 注意点
o 小括弧(= 丸括弧)の中で、同じ環境変数に対して代入と使用を同時に行う時は、書き方を変える必要があります。
    + 詳しくは、「バッチファイル。IF文やFOR文の中で複数コマンドを書く時の注意点


**** 使用例
o FOR文で、デスクトップにあるファイルの情報を表示します。
--------
@echo off
for %%F in ("%USERPROFILE%\デスクトップ\*.*") do (
echo ファイル名: %%F
echo 更新日時 : %%~tF
echo ファイルサイズ : %%~zF
echo.
)
--------

o コマンド名は、大文字小文字のどちらでも大丈夫です。
o FOR文の場合、DOの後ろに「(」を入れます。
o 閉じる時の「)」は行頭に置きます。


**** メモ
o IF文や FOR文の中では、次の形のコメントは置く事が出来ません。
--------
:: コメント(= コロンが2つ)
: コメント(= コロンの後ろに半角空白)
--------


o IF文や FOR文の中でコメントしたい時は、REM コマンドを使います。
--------
rem コメント
--------



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


==
関連ページ:
    ▼Windowsコマンド。制御文と環境変数▼ABC順
    ▼Windowsコマンド一覧▼ABC順
    ▼コマンドプロンプト画面
    ▼制作メモ
    > 長いコマンドの途中で強制改行する
    8190文字 = バッチファイルや画面の1行に入る最大文字数
    バッチファイルでif文の条件式を書く時の注意点
(2011年1月28日追加。注意点)