7-zipを使用してファイルをバックアップするが、一部のディレクトリを除外する方法


43

7-zipを使用してディレクトリをバックアップしたいのですが、「。svn」という名前のすべてのディレクトリ(ソースツリー内の任意の場所)を除外したいです。これが可能かどうか、その場合はどのように誰か知っていますか?

回答:


35

すべての.svnディレクトリを除外するには、-xr!?svn\*スイッチを追加する必要があります

たとえば、次のコマンドは、C:\Project\To\Backupディレクトリのバックアップを作成します。ただし、次の条件を満たすフォルダーは除外されます?svn

"C:\Program Files\7-Zip\7z.exe" a -r -tzip -y -xr!?svn\* Project.zip C:\Project\To\Backup\*

!?!のおかげManiacDが、私は仕事-xrにこれを取得することはできませんSVNは*私にエラーを与え、私は-xrの.svnをしようとした場合*それがまだの.svn除外しないだろう
ミカエルSundberg

.svnの下にあるすべてのものを除外することを意味する?svnの後にバックスラッシュが必要です。-xr!?svn \ *
ManiacD 09

最初は問題が山積みになっていたので、心配する必要はありません。7-zip excludeスイッチ-x(-xr recurse directory)with!ワイルドカード検索に基づいてファイル名を除外します。バックスラッシュなしでは、?svn *に一致するファイル名を除外しようとしています。最後に\ *が付いたasvn.logは、?svn
ManiacDに

ワイルドカードの使用方法の詳細については、7-Zipに付属のヘルプファイルをご覧ください。数日前に同様のタスクを修正するのに役立ちました。7-Zipはワイルドカードを少し使用します...異なる;)
släcker09年

3
そして、一般的なフォルダーの除外を探してここにつまずいた場合、?「period-svn」(.svn)に一致することに注意してくださいSkipMe。使用するフォルダー内のすべてをスキップするには-xr!SkipMe\*
drzaus

13

7-Zipを使用して.svn(または潜在的に_svn)フォルダーを除外する代わりに、svn exportコマンド(SlikSVNの svn.exeを使用)を使用して、作業コピーを一時フォルダーにエクスポートすることをお勧めします。

svn export C:\Path\To\WC C:\Backup\Staging

次に、7-Zipを次のように使用します。

7z.exe a "C:\Parth\To\Archive" "C:\Backup\Staging\*" -bd t7z -v2g -r

次に、ステージングフォルダーを削除します。

これは、ローカルの作業コピーをバックアップするために行うことです。


エクスポートのヒントをありがとう。TortoiseSVNメニューでも利用できます。
アーノルドスペンス

12

ファイルまたはディレクトリのリストを使用して、7zipのファイルを除外できます。

/path/to7Zip/7z a -bd f:/backup/backup_2009-08-23_daily.zip home \
          '-xr@\path\to\backup_daily_exclude.lst'

除外ファイルは次のようになります。

home\Photos\iPod*
home\dhltd\*
BlogMatrix\Sparks\db\*.archive
home\eclipse\*
.svn

キーは-xrで、特にディレクトリの各レベルに除外リストを再帰的に適用することを示す「r」です。2つの除外ファイルリストを使用することもできます。1つは絶対的なもの、もう1つは再帰的な除外用です。上記は、cygwinで実行されるbashスクリプトからのものです。


4

使用したとき

"C:\Program Files\7-Zip\7z.exe" a -r -ttar -xr!?git\* aufs2-util.tar aufs2-util\*

最終的には、望まない.gitディレクトリを追加して、

"C:\Program Files\7-Zip\7z.exe" a -r -ttar -xr!?git\ aufs2-util.tar aufs2-util\*

望ましい結果を得ました。


3

使用したとき

7z a "D:\codebase\w.7z" "D:\codebase\Edison\otm\Webapp" -t7z -mx0 -xr!WEB-INF\*

WEB-INFディレクトリは除外されませんでした。ディレクトリ名の前にアスタリスクを追加する

7z a "D:\codebase\w.7z" "D:\codebase\Edison\otm\Webapp" -t7z -mx0 -xr!*WEB-INF\*

目的の結果が得られました。


アスタリスク部分が最も重要です。これにより、より多くの賛成票が得られるはずです。
ヴァレリオ

0

私にとっては、多数のMavenコードディレクトリをバックアップしようとしていたため、「target」という名前のディレクトリを除外したかったのです。

"C:\Program Files\7-Zip\7z.exe" a -r -tzip -y -xr!*\target\* site.zip C:\code\site\

関連する除外パラメーターはでした-xr!*\target\*

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.