2011/06/21

7zipでバックアップbatテンプレート

@ECHO OFF

::ベースバックアップ書庫の名前を指定。
SET BackupArc=BackupFile

:: バックアップするフォルダ/ファイルの場所を指定、最後の\はつけません。
SET SourcePath=C:\Docs

:: 保存先の場所を指定、最後の\はつけません。存在しない場合は実行されません。
SET DestinationPath=F:

:: 7z.exeがある場所を指定、64bit Windows上で32bitの7-zipを使用する場合はデフォルトで C:\Program Files(x86)\7-Zip
SET SevenZipProgramDir=C:\Program Files\7-Zip

:: 7z.exeのスイッチを入力します 下の例では圧縮形式はzip/deflate、圧縮レベルは3、使用中ファイルも圧縮するという内容のスイッチとなっています。
SET SevenZipCommSwitch=-tzip -mm=Deflate -mx=3 -ssw

:: u(更新オプション)スイッチを入力します。詳細は7zipの日本語ヘルプをご覧ください。このスイッチは差分バックアップ用です。
SET SevenZipUoption=p0q0r2x2y2z0w2

:: 取得した時刻の先頭の空白を0に置換する。ここより下は通常変える必要はありません。
SET TIME2=%TIME: =0%

:: 差分書庫の名前後方に作成日時を追加する。
SET NOWTIME=%DATE:~-8,2%%DATE:~-5,2%%DATE:~-2,2%%TIME2:~0,2%%TIME2:~3,2%

:: 保存先のドライブ(ディレクトリ)がなければ終了する。
IF NOT EXIST %DestinationPath%\ GOTO END

:: ベースバックアップ書庫が存在しなければ作成する。初回起動用です。
IF NOT EXIST %DestinationPath%\%BackupArc%.zip START /MIN /WAIT "" "%SevenZipProgramDir%\7z.exe" u ^
%DestinationPath%\%BackupArc%.zip %SourcePath% %SevenZipCommSwitch%

:: %BackupArc%(作成された日付時刻).zipを%BackupArc%.zipの差分書庫として作成する。別窓で開きます。
START /MIN "" "%SevenZipProgramDir%\7z.exe" u %DestinationPath%\%BackupArc%.zip -u- ^
-u%SevenZipUoption%!%DestinationPath%\%BackupArc%_%NOWTIME%.zip ^
%SourcePath% %SevenZipCommSwitch%

:END
EXIT

0 件のコメント:

コメントを投稿