@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
CHCP 65001>NUL
TITLE 検証
REM バージョン：1.6.4
SET "PYTHON_PG=%~dp0interpreter\python.exe"
SET "STR_DATE=%DATE%"
SET "STR_DATE=%STR_DATE:~0,4%%STR_DATE:~5,2%%STR_DATE:~8%"
SET "STR_TIME=%TIME: =0%"
SET "STR_TIME=%STR_TIME:~0,2%%STR_TIME:~3,2%%STR_TIME:~6,2%"
SET "FILEEXT=%STR_DATE%%STR_TIME%"
IF NOT EXIST "%~dp0Interpreter" (
    MKDIR "%~dp0Interpreter">NUL
)
IF NOT EXIST "%~dp0Log" (
    MKDIR "%~dp0Log">NUL
)
IF NOT EXIST "%~dp0Out" (
    MKDIR "%~dp0Out">NUL
)
IF NOT EXIST "%~dp0Scripts" (
    MKDIR "%~dp0Scripts">NUL
)
SET /A "RESULT=3"
IF /I "%~1" EQU "save" (
    TITLE ファイル検証（記録モード）
    REM 記録モード
    ECHO ファイル構成記録
    REM 実行
    CMD /C CALL "%PYTHON_PG%" "%~dp0Scripts\memorize.py" SAVE 1>"%~dp0Log\memorize_%FILEEXT%.log" 2>&1
    SET /A "RESULT=!ERRORLEVEL!"
    SET "PRINT_RESULT_BUFFER=000!RESULT!"
    SET "PRINT_RESULT_BUFFER=!PRINT_RESULT_BUFFER:~-3!
    IF !RESULT! EQU 103 (
        REM 103
        ECHO     ⇒【警告/!PRINT_RESULT_BUFFER!】ファイル構成の記録処理でファイルの書込異常が発生しました.
    ) ELSE IF !RESULT! EQU 102 (
        REM 102
        ECHO     ⇒【警告/!PRINT_RESULT_BUFFER!】ファイル構成の記録処理で想定内の異常が発生しました.
    ) ELSE IF !RESULT! EQU 101 (
        REM 101
        ECHO     ⇒【注意/!PRINT_RESULT_BUFFER!】ファイル構成の記録処理は正常に終了しましたが, 注意事象が確認されました.
    ) ELSE IF !RESULT! EQU 0 (
        REM 0
        ECHO     ⇒【情報/!PRINT_RESULT_BUFFER!】ファイル構成の記録処理は正常に終了しました.
    ) ELSE (
        REM Unknown
        ECHO     ⇒【重大/!PRINT_RESULT_BUFFER!】ファイル構成の記録処理で想定外の異常が発生しました.
    )
    ECHO     　 　　　　　 ・Log/memorize_%FILEEXT%.log
) ELSE (
    TITLE ファイル検証（検証モード）
    REM 検証モード
    ECHO ファイル構成検証
    REM 実行
    CMD /C CALL "%PYTHON_PG%" "%~dp0Scripts\inspect.py" 1>"%~dp0Log\inspect_%FILEEXT%.log" 2>&1
    SET /A "RESULT=!ERRORLEVEL!"
    SET "PRINT_RESULT_BUFFER=000!RESULT!"
    SET "PRINT_RESULT_BUFFER=!PRINT_RESULT_BUFFER:~-3!
    IF !RESULT! EQU 104 (
        REM 104
        ECHO     ⇒【警告/!PRINT_RESULT_BUFFER!】中核設定の改変により一貫性が損なわれたため, ファイル構成の検証処理は途中終了されました.
        ECHO     　 　　　　　 ※ 'IGNORE_CONFIG_HASH_MODE'定数を有効化することで強制実行できます.（非推奨）
    ) ELSE IF !RESULT! EQU 103 (
        REM 103
        ECHO     ⇒【警告/!PRINT_RESULT_BUFFER!】ファイル構成の検証処理でファイルの読込異常が発生しました.
        ECHO     　 　　　　　 ファイル構成記録ファイルの存在確認及び, 状態確認を行ってください.
        ECHO     　 　　　　　 ・Scripts/save/save_memorize_record.json
    ) ELSE IF !RESULT! EQU 102 (
        REM 102
        ECHO     ⇒【警告/!PRINT_RESULT_BUFFER!】ファイル構成の検証処理で想定内の異常が発生しました.
        ECHO     　 　　　　　 検証結果に問題がある可能性があります.
        ECHO     　 　　　　　 ・Out/*.*
    ) ELSE IF !RESULT! EQU 101 (
        REM 101
        ECHO     ⇒【注意/!PRINT_RESULT_BUFFER!】ファイル構成の検証処理は正常に終了しましたが, 注意事象が確認されました.
        ECHO     　 　　　　　 ・Out/*.*
    ) ELSE IF !RESULT! EQU 0 (
        REM 0
        ECHO     ⇒【情報/!PRINT_RESULT_BUFFER!】ファイル構成の検証処理は正常に終了しました.
        ECHO     　 　　　　　 ・Out/*.*
    ) ELSE (
        REM Unknown
        ECHO     ⇒【重大/!PRINT_RESULT_BUFFER!】ファイル構成の検証処理で想定外の異常が発生しました.
    )
    ECHO     　 　　　　　 ・Log/inspect_%FILEEXT%.log
)
ECHO.
ECHO 終了するには何かキーを押してください . . .
PAUSE>NUL
ENDLOCAL & EXIT /B %RESULT%
