SHELL Robocopyによるバックアップ
PCのデータを外付けHDDに簡単にバックアップする
ライブラリーの定期的なフォルダーのバックアップとしてRpbcopyを紹介します。Robocopy(Robust File Copy)は、Windows組み込まれたツールであり、ユーザーがファイルのコピーやミラーリングを簡単に行える便利な機能です。
下記は、定期的に外部ストレージにミラーリングを行っているコマンドプロンプトの例です。
@echo off
setlocal
SET /P ANSWER="C:\Users\MR\OneDriveのバックアップを実行します。よろしいですか (Y/N)?"
if /i {%ANSWER%}=={y} (goto :yes)
if /i {%ANSWER%}=={yes} (goto :yes)
EXIT
:yes
echo 個人ホルダーのバックアップ処理開始
REM LOGファイルの設定
set dt=%date%
set tm=%time: =0%
set logfile="C:\Users\MR\@BKUP\@BKUPLOG\%dt:~0,4%-%dt:~5,2%-%dt:~8,2%_%tm:~0,2%%tm:~3,2%%tm:~6,2%_OneDrive.txt"
REM robocopyの実効 /Lは検証オプション
REM robocopy "C:\Users\MR\OneDrive" "F:\Users\MR\OneDrive" /MIR /R:0 /W:0 /log+:"%logfile%" /NP /NDL /TEE /XJD /XJF /L
robocopy "C:\Users\MR\OneDrive" "F:\Users\MR\OneDrive" /MIR /R:0 /W:0 /log+:"%logfile%" /NP /NDL /TEE /XJD /XJF
echo BKUP保存先:"F:\Users\MR\OneDrive"
echo ログ保存先:%logfile%
pause
goto :eof
@echo off
Robcopyにて使用している各パラメータの説明
コマンドプロンプトにて実行する場合、最初に REM を変更し/L の検証パラメータにて動作確認を推奨します。
Robcopy ① ② オプション
① コピー元フォルダ 通常のパス形式(絶対パス、相対パスなど)
②コピー先フォルダ 通常のパス形式(絶対パス、相対パスなど)
Robocopyのオプションの説明
/MIR ディレクトリ ツリーのミラーリング
再試行オプション
/R:n 失敗したコピーに対する再試行数: 既定値は 1,000,000
/W:n 再試行と再試行の間の待機時間: 既定値は、30 秒
/LOG+:ファイル ログファイルに出力
ログファイルの保存先のフォルダは事前作成が必須
指定したファイル名にログファイルを出力(ファイル名の例:2023-05-16_194350_OneDrive.txt)
/NP コピーの進行状況を表示しない(実行中は/TEEによりログに出力)
/NDL ディレクトリ名をログに表示しない
/TEE ログファイル出力時、コンソールウィンドウにも出力
/XJD ディレクトリの接合ポイントとシンボリック リンクを除外
/XJF ファイルのシンボリック リンクを除外
/L 処理内容の表示のみを行いコピー先フォルダに変更を加えません。コピー、削除、タイムスタンプの追加などを行いません。
Robocopy は細かな条件でコピーできるように非常に多くのオプションが準備されています。
robocopyのヘルプや関連記事にてご確認ください。
何かお気づきの点やご意見など有りましたらお問い合せからご連絡頂けると幸いです。