ログ出力共通関数を作り、標準出力とログにメッセージを出力するようにします。
ログ出力共通関数の中身
rem -------------------------------------------------------------
rem メッセージ用関数
rem -------------------------------------------------------------
:MSG
set MSG_TIME=%DATE% %TIME%
echo %MSG_TIME%[%1] %2
echo %MSG_TIME%[%1] %2 >> %LOG_FILE%
exit /b
出力イメージ(ログ)
2023/10/22 18:21:26.25[INFO] "--------------------------------------------------"
2023/10/22 18:21:26.27[INFO] "変数定義"
2023/10/22 18:21:26.30[INFO] "--------------------------------------------------"
2023/10/22 18:21:26.33[INFO] "[PG_DIR ] C:\scripts\"
2023/10/22 18:21:26.34[INFO] "[PG_NAME ] test_script"
出力イメージ(標準出力)
呼び出し方
call :MSG INFO "--------------------------------------------------"
call :MSG INFO "変数定義"
call :MSG INFO "--------------------------------------------------"
call :MSG INFO "[PG_DIR ] %PG_DIR%"
call :MSG INFO "[PG_NAME ] %PG_NAME%"
サンプル
@echo off
setlocal enabledelayedexpansion
rem **************************************************************
rem 変数定義
rem **************************************************************
set PG_DIR=%~dp0
set PG_NAME=%~n0
set EXE_DATE=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%
set EXE_TIME=%TIME: =0%
set EXE_TIME=%EXE_TIME:~0,2%%EXE_TIME:~3,2%%EXE_TIME:~6,2%
set LOG_FILE=%PG_DIR%%PG_NAME%_%COMPUTERNAME%_%EXE_DATE%%EXE_TIME%.log
call :MSG INFO "--------------------------------------------------"
call :MSG INFO "変数定義"
call :MSG INFO "--------------------------------------------------"
call :MSG INFO "[PG_DIR ] %PG_DIR%"
call :MSG INFO "[PG_NAME ] %PG_NAME%"
call :MSG INFO "[EXE_DATE ] %EXE_DATE%"
call :MSG INFO "[EXE_TIME ] %EXE_TIME%"
call :MSG INFO "[LOG_FILE ] %LOG_FILE%"
call :MSG INFO
rem **************************************************************
rem 関数
rem **************************************************************
rem -------------------------------------------------------------
rem メッセージ用関数
rem -------------------------------------------------------------
rem INFO,ERR,WAR
:MSG
set MSG_TIME=%DATE% %TIME%
echo %MSG_TIME%[%1] %2
echo %MSG_TIME%[%1] %2 >> %LOG_FILE%
exit /b