SoftwareEngineering

バッチファイル

ユーザーに入力を求める方法

  • SET /P を使用する。
    SET /P InputParameter="パラメーターを入力してください>"
    ECHO "入力されたパラメーターは[%InputParameter%]です"

長い文字列を改行して入力する方法

  • 行末に[^](キャレット)を入力する。
    SET CommandText=select^
          code^
         ,name^
     from^
         employee
    
    
    ECHO "CommandText[%CommandText%]"

ブロック文の書き方

SET /P InputParameter="数値を入力してください>"

IF %InputParameter% GTR 10 (
    ECHO 入力された値は、
    ECHO 10を超えています。
) ELSE (
    ECHO 入力された値は、
    ECHO 10以下です。
)

IF文の書き方

演算子説明
==等しいIF 10 == 10 ECHO 等しいです。
EQU等しいIF 10 EQU 10 ECHO 等しいです。
NEQ等しくないIF 9 NEQ 10 ECHO 等しくないです。
LSS未満IF 9 LSS 10 ECHO 10より小さいです。
LEQ以下IF 10 LEQ 10 ECHO 10以下です。
IF 9 LEQ 10 ECHO 10以下です。
GTR超過IF 11 GTR 10 ECHO 10を超えています。
GEQ以上IF 11 GEQ 10 ECHO 10以上です。
IF 10 GEQ 10 ECHO 10以上です。

FOR文の書き方

  • コマンドラインのケース
    • 基本的な使い方
      • コマンド例
        FOR %I in (1, 2, 3) DO ECHO %I
      • 実行結果
        1
        2
        3
    • 指定した回数だけ繰り返す
      • コマンド例
        FOR /l %i IN (0, 2, 10) DO ECHO %i
      • 実行結果
        0
        2
        4
        6
        8
        10
  • バッチファイルのケース
    インクリメント変数の%を二重にする。
    FOR %%I in (1, 2, 3) DO ECHO %%I
    • カレントディレクトリに存在する拡張子が"csv"であるファイル名を出力する
      FOR %%f in (*.csv) do ECHO %%f

サブルーチンの書き方

ECHO OFF



CALL :execute "param1" "param2" "param3"



exit /b

REM ---------------------------------------------------------------------------
REM <summary>標準出力画面に値を表示する</summary>
REM ---------------------------------------------------------------------------
:execute

ECHO "引数1:[%1]"
ECHO "引数2:[%2]"
ECHO "引数3:[%3]"

exit /b

空のテキストファイルを作成する

  • 基本的な使い方
    TYPE nul > EmptyTextFile.txt
  • 繰り返し
    FOR /l %i IN (11, 1, 42) DO TYPE nul > %i.txt

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-12-06 (木) 10:53:58 (2534d)