#author("2023-06-26T22:48:32+09:00","","") #author("2023-06-26T22:48:47+09:00","","") [[ソフトウェア開発>SoftwareEngineering]] / [[バッチファイル>./]] *バッチファイル [#l3ea2ef3] #contents *バッチファイル [#l3ea2ef3] **ユーザーに入力を求める方法 [#j33c22f4] -SET /P を使用する。 SET /P InputParameter="パラメーターを入力してください>" ECHO "入力されたパラメーターは[%InputParameter%]です" **長い文字列を改行して入力する方法 [#ibb04351] -行末に[^](キャレット)を入力する。 SET CommandText=select^ code^ ,name^ from^ employee ECHO "CommandText[%CommandText%]" **ブロック文の書き方 [#o3a80ce4] SET /P InputParameter="数値を入力してください>" IF %InputParameter% GTR 10 ( ECHO 入力された値は、 ECHO 10を超えています。 ) ELSE ( ECHO 入力された値は、 ECHO 10以下です。 ) **IF文の書き方 [#a86d95a6] |演算子|説明|例|h |==|等しい|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以下です。&br;IF 9 LEQ 10 ECHO 10以下です。| |GTR|超過|IF 11 GTR 10 ECHO 10を超えています。| |GEQ|以上|IF 11 GEQ 10 ECHO 10以上です。&br;IF 10 GEQ 10 ECHO 10以上です。| **FOR文の書き方 [#c1fa9b75] -コマンドラインのケース --基本的な使い方 ---コマンド例 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 **サブルーチンの書き方 [#g89ee7e7] 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 **空のテキストファイルを作成する [#v739fa33] -基本的な使い方 TYPE nul > EmptyTextFile.txt -繰り返し FOR /l %i IN (11, 1, 42) DO TYPE nul > %i.txt //End 空のテキストファイルを作成する