2021年12月5日日曜日

 @echo off

rem  入力

rem  [JCL] -- Exx20.txt

rem  [CMP] -- Exx20.txt

rem  [PACK]

rem  ・実行:PACK.bat

rem  出力

rem     [Exx20_x回目(yymmdd)]

rem        -- Exx20_COPY_JCL.txt 

rem        -- [検証_エビデンス]

rem        -- [本番データ取得_エビデンス]

rem              Exx20_COPYSTEP新旧比較エビデンス.txt

rem              ログ_実行LOG.txt


rem 遅延環境変数を設定

setlocal ENABLEDELAYEDEXPANSION


 SET EJOB=

 rem ラベル「:loop」

:loop


rem ユーザーからの入力を変数「text」に代入する

set /p text="yymmddの値を入力してください…:"

rem 「exit」と入力されたとき、バッチファイルを終了する

if "%text%" == "exit" goto :end


rem ラベル「:loop」に戻る

rem goto :loop


if "%text%" == "" Set text=yymmdd

echo %text%

pause


rem --------------------------------------

rem 一覧取得

rem --------------------------------------

 DIR /b ..\JCL\*.txt>list.txt

rem --------------------------------------

rem 実行

rem --------------------------------------

 set /a n=0


 FOR /F %%a IN (list.txt) DO (

   rem echo %%a

   SET EJOB=%%a

   rem SET EJOB=!EJOB:~,5!

   

   SET /a n=n+1

   SET EJOB=!EJOB:.txt=!

   echo !n! ###!EJOB!###

   call:Pack1 !EJOB! !text!

 )

 echo :

 echo === !n! 件、処理しました。===

 pause

:end

 exit /b


rem --------------------------------------

rem パッキングする

rem --------------------------------------

:Pack1

   SET TGT_FD=!EJOB!_x回目(!text!)

   SET TGT_HON_FD=!TGT_FD!\本番データ取得_エビデンス

   SET TGT_KEN_FD=!TGT_FD!\検証_エビデンス


   ECHO ■!TGT_FD!■

   IF EXIST !TGT_FD! RD !TGT_FD! /S /Q

   MD !TGT_FD!

   MD !TGT_HON_FD!

   MD !TGT_KEN_FD!

   

   IF EXIST ..\JCL\!EJOB!.txt (

      COPY ..\JCL\!EJOB!.txt !TGT_FD!\!EJOB!_COPY_JCL.txt   

   ) ELSE (

     echo ..\JCL\!EJOB!.txtは存在しません。

   )

   TYPE nul >  !TGT_HON_FD!\ログ_実行LOG.txt

   IF EXIST ..\CMP\!EJOB!.txt (

      COPY ..\CMP\!EJOB!.txt !TGT_HON_FD!\!EJOB!_COPYSTEP新旧比較エビデンス.txt

   ) ELSE (

     echo ..\CMP\!EJOB!.txtは存在しません。

   )

   EXIT /b

endlocal