@echo off
rem /*---------- 初期設定 ----------*/
cd %~dp0
pushd .
title %~nx0
SET DATE_YMD=%date:/=%
SET DATE_YM=%DATE_YMD:~0,6%
SET DATE_Y=%DATE_YMD:~0,4%
SET TIME_HMS=%time::=%
SET TIME_HMS=%TIME_HMS: =0%
SET TIME_HMS=%TIME_HMS:~0,6%
SET TIME_HM=%TIME_HMS:~0,4%
SET TIME_H=%TIME_HMS:~0,2%
SET TIME_M=%TIME_HMS:~2,2%
SET TIME_S=%TIME_HMS:~4,2%

 

rem /*---------- パス設定 ----------*/
SET log_dir_path=.\log
SET log_file_path=%log_dir_path%\%DATE_YMD%
SET log_file=%log_file_path%\%DATE_YMD%_%TIME_HMS%.log
SET libpath=
PATH=%PATH%;

 

rem /*---------- 初期処理 ----------*/
IF NOT EXIST %log_file_path% MKDIR %log_file_path% 2>&1
TYPE NUL > %log_file% >> %log_file% 2>&1

 

rem /*---------- 設定出力 ----------*/
CALL :LOCAL_ECHO /*---------- 設定出力 ----------*/
CALL :LOCAL_ECHO 開始日付         : %DATE_YMD%
CALL :LOCAL_ECHO 開始時間         : %TIME_HMS%
CALL :LOCAL_ECHO ログパス         : %log_dir_path%
CALL :LOCAL_ECHO ログファイルパス : %log_file_path%
CALL :LOCAL_ECHO ログ名           : %log_file%
CALL :LOCAL_ECHO ライブラリパス   : %libpath%
CALL :LOCAL_ECHO .

 

rem /*---------- 処理開始 ----------*/
CALL :LOCAL_ECHO /*---------- 処理開始 ----------*/
CALL :LOCAL_ECHO this is test.
CALL :LOCAL_ECHO .

GOTO END

 

rem /* ---------- エラー処理 ----------*/
:ERROR

 

rem /* ---------- 終了     ----------*/
rem /* ---------- ログ処理 ----------*/
:END
if exist *.log move *.log %log_file_path% >> %log_file% 2>&1
timeout 20
exit

 

rem rem /*---------- 以降関数 ----------*/
rem 標準とファイル出力
:LOCAL_ECHO
    IF "%*"=="." (
        ECHO. 
        ECHO. >>%log_file%
    ) ELSE (
        ECHO %* 
        ECHO %* >>%log_file%
    )
EXIT /B