====== 複数フォルダからファイルを抽出する(Robocopy) ======
@echo off
rem ファイルサイズが大きい為、robocopyを使用する。
rem Forfilesでネットワークドライブを使う為、
rem フォルダは2つとも仮想ドライブとしてマウントする。
rem
rem 引数1:送り元のネットワークドライブ → Z:\
rem 引数2:送り先のネットワークドライブ → Y:\
rem 引数3:対象ファイルのフィルタ
rem
rem うまく動かないからドライブ頭打ちの為、
rem ネットワークドライブあったら削除している
rem バージョン:20190316
rem エラーチェック:引数が無かったら実行しない
rem TIP:%1ではなく%~1のチルダは、引数のダブルクォーテーション
rem を削除するコマンド
if "%~1" == "" GOTO ERR1
if "%~2" == "" GOTO ERR1
if "%~3" == "" GOTO ERR1
if not exist %1 GOTO ERR2
if not exist %2 GOTO ERR2
rem とにかくネットワークドライブを削除
net use z: /d > nul 2>&1
rem 引数1をマウントする
net use z: %1 > nul 2>&1
rem 引数をセットする
rem コピーファイルの数を表示する
if exist tempnum.txt del tempnum.txt
forfiles /P Z:\ /M %3 /S /C "cmd /c echo @path" | find /c /v "" > tempnum.txt
set /p filenum= < tempnum.txt
rem AnimeLockerのみ有効:
rem 必ず同一ファイルが2回見つかるので、割り算を追加
set /a filenum=filenum/2 > nul
echo -------------------------------
echo コピー元:%1
echo コピー先:%2
echo 対象ファイル:%3
echo 対象ファイル数:%filenum%
echo -------------------------------
ping localhost -n 4 > nul
rem コピー実行
forfiles /P Z:\ /M %3 /S /C "cmd /c xcopy /d /v @path %2"
rem ネットワークドライブを解除する
net use z: /delete > nul
goto :EOF
rem 引数が無いぞエラー
:ERR1
echo.
echo エラー:引数指定が無いか足りません。
pause
goto :EOF
rem ディレクトリが無いぞエラー
:ERR2
echo.
echo エラー:引数指定のディレクトリがありません。
@echo off
echo ***************************
echo.
echo バックアップバッチ
echo.
echo ***************************
call gocopy.bat "\\RecSrv\0c99-AAAAAA" "\\sylvia\video\AAAAAA" *.mp4
call gocopy.bat "\\RecSrv\80d3-BBBBBB" "\\sylvia\video\BBBBBB" *.mp4
call gocopy.bat "\\RecSrv\ad54-CCCCCC" "\\sylvia\video\CCCCCC" *.mp4
call gocopy.bat "\\RecSrv\b7af-DDDDDD" "\\sylvia\video\DDDDDD" *.mp4
call gocopy.bat "\\RecSrv\d321-EEEEEE" "\\sylvia\video\EEEEEE" *.mp4
call gocopy.bat "\\RecSrv\84a5-FFFFFF" "\\sylvia\music\FFFFFF" *.mp4
call gocopy.bat "\\RecSrv\7c71-GGGGGG" "\\sylvia\music\GGGGGG" *.mp4
call gocopy.bat "\\RecSrv\7c71-GGGGGG" "\\sylvia\music\GGGGGG" *.aac
rem call gocopy.bat "" "" *.mp4
rem call gocopy.bat "" "" *.mp4
echo.
echo ***************************
echo.
echo コピー終了しました!
echo 削除してください。
echo.
echo ***************************
pause