スポンサーリンク

「カレントフォルダのバックアップを取得・保存するバッチ」のソースコード。たった数行のBATで強力なバックアップが可能

「このバッチが置いてあるフォルダを,まるごとバックアップ」

というバッチ。

rem カレントフォルダをバックアップする

rem バックアップ先フォルダ名
SET DIR_TO_ROOT=D:\tmp\work

rem 日時情報の入ったフォルダを作成
SET DIR_TO=%DIR_TO_ROOT%\bu_%date:~0,4%_%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%
mkdir %DIR_TO%

rem フォルダと中身を再帰的にコピー
xcopy /E /I %~d0%~p0* "%DIR_TO%\"

pause

サブフォルダも再帰的にコピーされる。

バックアップ先は,今日の年月日の日付と,現在時刻がフォルダ名として記録される。


xcopyコマンドは,簡易的なバックアップに重宝する。

@IT:Windows TIPS -- Tips:xcopyでファイルをバックアップする
http://www.atmarkit.co.jp/fwin2k/win2...

  • このコマンドとWindows OSのタスク・スケジュール機能を組み合わせることにより、簡単なファイルのバックアップ・システムにすることができる。

本格的にバックアップをとりたい場合は,CUI版の「robocopy」コマンドや,GUI版の「Rich Copy」などのツールもある。

Windows TIPS:robocopyでフォルダをバックアップ/同期させる - @IT
http://www.atmarkit.co.jp/ait/article...

  • robocopyは、もともとはリモートのファイル・サーバ同士でフォルダを同期させるために作られたコマンドである(ユーザー・プロファイルなどを複製するために作られた)。robocopyはRobust File Copyの略であり、堅牢(robust)で確実なファイル・コピーという意味を持つ。


バッチファイルでフォルダごとUSBにコピーする\c\testのフォルダをバッチ...
http://detail.chiebukuro.yahoo.co.jp/...

  • もちろん xcopy コマンドでも可能ですが… xcopy /e /i /y "C:\test" "G:\test" バックアップとして頻繁に実行されるのであれば robocopy の方が遥かに高機能でバックアップ目的にも適しています


RichCopyでフォルダをバックアップ/同期させる − @IT
http://www.atmarkit.co.jp/fwin2k/win2...

  • コマンドラインで指定しなければならず、コピー元/コピー先フォルダをミスタイプしやすいなど、少々ハードルが高かった。こうした点は、Microsoftも理解していたようで、robocopyを拡張し、使いやすいグラフィカル・ユーザー・インターフェイス(GUI)を実装した「RichCopy」を提供している

関連記事:

BATとWSHのコードを1ファイルに混在させるためのshebang記法(複雑なバッチを1ファイルで実現)
http://computer-technology.hateblo.jp/entry/20131025/p1


バッチファイルで,Windowsの電源をスリープ(スタンバイ)に切り替え
http://computer-technology.hateblo.jp/entry/20140524/p1


Excel VBAで,2つの日付を比較し,差分を計算する関数
http://computer-technology.hateblo.jp/entry/20140301/p1


Excel関数で,空白セルを無視した「連番」を自動的に入力する方法 (シートの画面キャプチャ付き)
http://computer-technology.hateblo.jp/entry/20140225/p1