今回はWindowsでバッチファイル(batファイル)を作成する場合のテンプレートを公開します。
テンプレートのコード
@ECHO OFF REM ********************************************** REM 処理内容:○○を処理するバッチ REM 作成日:2021/03/01 REM 作成者:marock.tokyo REM 更新日:2021/03/02 REM 更新者:marock.tokyo REM 更新内容:□□処理を追加 REM ********************************************** SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION REM ローカル変数定義 REM 環境変数の定義 SET INIFILE_PATH=TEST.ini REM メイン処理 :MAIN REM ファイルがあるフォルダに移動 PUSHD %~DP0 REM 初期処理 CALL :INIT IF %ERRORLEVEL% NEQ 0 GOTO:FINAL REM メイン処理 ECHO INI_SERVER=%SERVER% ECHO INI_USER=%USER% GOTO :FINAL REM ********************************************** REM サブルーチン定義 REM ********************************************** REM 初期処理 :INIT REM 引数の取得 複数ある場合は%1, %2 と数字を増やす SET ARG1=%1 REM 初期設定ファイル FOR %%I IN (%INIFILE_PATH%) DO ( CALL :READ_INIFILE %%I IF !ERRORLEVEL! NEQ 0 EXIT /B ) EXIT /B REM INIファイル読み込み処理 :READ_INIFILE IF EXIST %1 ( FOR /F "TOKENS=1,2* DELIMS==" %%I IN (%1) DO ( IF NOT %%I == # ( SET %%I=%%J ) ) ) ELSE ( ECHO INIファイルが存在しません。 EXIT /B 2 ) EXIT /B REM 終了処理 :FINAL POPD ENDLOCAL ECHO 終了 EXIT /B
解説
35行目の初期処理(:INITラベル)では引数の取得と設定ファイル(INIファイル)の取得を行っています。設定ファイルは14行目で設定します。設定ファイルには「変数名=設定値」の形式で複数指定可能です。設定ファイルのサンプル例です。
; SERVERの設定 SERVER=marock.tokyo ; USERの設定 USER=marock01
複数の設定ファイルを読み込む必要がある場合はスペースを空けて複数指定することができます。
例)SET INIFILE_PATH=TEST.ini TEST2.ini
逆に、設定ファイルを使用しない場合は何も指定しません。
例)SET INIFILE_PATH=
メイン処理は26行目以降に記載してください。テンプレートのコードはサンプルで設定ファイルで設定された値を出力しているだけです。
コメント