2014年5月19日月曜日

00_CopySKEL.bat

:開始

@ECHO off

REM =============環境に応じて、修正してください。=====================================
REM MODE:
REM G  :確認画面を表示しない 実際のコピーをする
REM L :
REM none    :確認画面を表示する  コピー実行する
REM
SET COPY_TOPIC=移行
SET COPY_NAME=####
SET COPY_SRC_DIR=D:\admtools\test\####
SET COPY_DST_DIR=D:\admtools\testd\####
SET COPY_LOG_DIR=d:\admtools\log
REM ==================================================================================


IF "%1"=="" (
ECHO "paramerter nome"
SET Copy_options=/COPY:DATSO /MIR /DCOPY:T /L
) else (

IF NOT "%1"=="L" (
SET Copy_options=/COPY:DATSO /MIR /DCOPY:T
) else (
SET Copy_options=/COPY:DATSO /MIR /DCOPY:T /L
)
)

REM ECHO %0
REM ECHO %1

SET YYYYMMDD=%date:~0,4%%date:~5,2%%date:~8,2%
SET Time_edit=%time: =0%
SET HHMMSS=%Time_edit:~0,2%%Time_edit:~3,2%%Time_edit:~6,2%

SET Excludes_files="" ""
SET Excludes_directories="" "" ""
SET File_selection_options=

SET Retry_options=/R:0 /W:1

SET Log_file="%COPY_LOG_DIR%\%COPY_TOPIC%_%COPY_NAME%_%YYYYMMDD%_%HHMMSS%.log"


REM --------------------------------------------------------------
rem SET Logging_options=/TEE /LOG:%Log_file%
rem SET Logging_options=/TEE /FP /LOG:%Log_file%
rem SET Logging_options=/TEE /X /FP /LOG:%Log_file%

SET Logging_options=/TEE /V /X /FP /LOG:%Log_file%

REM --------------------------------------------------------------

SET Source="%COPY_SRC_DIR%"
SET Destination="%COPY_DST_DIR%"
REM SET File=*.*
SET Options=%Copy_options% %File_selection_options% %Retry_options% %Logging_options%

:: 自動生成、ROBOCOPY実行コマンドを画面表示で確認する
ECHO.
ECHO ↓↓↓↓↓ 自動生成、ROBOCOPY実行コマンド ここから ↓↓↓↓↓
ECHO.
ECHO robocopy.exe %Source% %Destination% %Options%
ECHO.
ECHO ↑↑↑↑↑ 自動生成、ROBOCOPY実行コマンド ここまで ↑↑↑↑↑

SET Console_input=""

ECHO ******************************************************************************
ECHO *
ECHO * 重要!!  バッチ処理実行確認
ECHO * ROBOモード  :%ROBOMODE%
ECHO * トピック   :%COPY_TOPIC%
ECHO * 移行フォルダ :%COPY_NAME%
ECHO * コピー元 :%COPY_SRC_DIR%
ECHO * コピー先   :%COPY_DST_DIR%
ECHO * 移行ログパス :%COPY_LOG_DIR%
ECHO * 移行ログ名前 :%Log_file%
ECHO *
ECHO * 自動生成した、ROBOCOPY実行コマンドを確認し、処理続行選択について、
ECHO * 以下のように入力(大文字と小文字は区別なし)。
ECHO *
ECHO * start :ROBOCOPYの実行を開始します
ECHO * quit :ROBOCOPYの実行を中止し、当バッチ処理を中止
ECHO * 上記以外の文字:当バッチ処理の先頭に戻ります
ECHO *
ECHO ******************************************************************************

ECHO %1
IF "%1"=="G" GOTO ROBOCOPY実行

SET /P Console_input="処理続行選択(上記参照) : "

IF /I "%Console_input%"=="quit" EXIT
IF /I "%Console_input%"=="start" GOTO ROBOCOPY実行
GOTO 開始

pause

:ROBOCOPY実行

MKDIR %COPY_DST_DIR%\%COPY_NAME%

robocopy.exe %Source% %Destination% %Options%
ECHO %ERRORLEVEL%

IF %ERRORLEVEL%==16 ECHO ***FATAL ERROR*** & GOTO END
IF %ERRORLEVEL%==8 ECHO **FAILED COPIES** & GOTO END
IF %ERRORLEVEL%==4 ECHO *MISMATCHES* & GOTO END
IF %ERRORLEVEL%==3 ECHO XTRA COPY & GOTO END
IF %ERRORLEVEL%==2 ECHO EXTRA FILES & GOTO END
IF %ERRORLEVEL%==1 ECHO Copy successful & GOTO END
IF %ERRORLEVEL%==0 ECHO --no change-- & GOTO END
:END

IF "%1"=="G" GOTO ROBOCOPY終了
pause

:ROBOCOPY終了
EXIT /b %ERRORLEVEL%
bbbbb