ディレクトリを圧縮すると「zip警告:名前の不一致」が発生する

ディレクトリを圧縮すると「zip警告:名前の不一致」が発生する

次のように圧縮する必要がある約180 GBのフォルダがあります。

zip -p password /Volumes/GGZ/faster/mybigfolder/* /Volumes/Storage\ 4/archive.zip

しかしそれは言う:

    zip warning: name not matched: /Volumes/Storage 4/archive.zip

ではどうすればいいですか?一方、存在しないのにarchive.zip作ってみようと思います。

答え1

このエラーは、ディレクトリツリーの圧縮されたシンボリックリンクによっても発生する可能性があります。

正しい宛先がない場合(ディレクトリが他の場所から移動されたかコピーされたためかもしれません)圧縮シンボリックリンクに沿ってターゲットファイルをアーカイブしようとします。

-y(または)オプションを使用すると、--symlinksこれを防ぐことができます。また、ファイルの複数のコピーを保持しない望ましい効果を得ることもできます。

答え2

あなたのコマンドは次のようになります。

zip -p password -r /Volumes/Storage\ 4/archive.zip /Volumes/GGZ/faster/mybigfolder/

マニュアルページ(man zip)は、以下が必要であることを示しています。

zip <options> <archive> <inpath...>

また、-r"*" シェル glob の代わりに再帰オプションを使用することをお勧めします。

答え3

圧縮するファイルを一致させるには、-rglob()の代わりに再帰フラグ()を使用します。*または、最初にアーカイブ名を指定してから、ファイルのリストを指定します。

zip -p password -r /Volumes/Storage\ 4/archive.zip /Volumes/GGZ/faster/mybigfolder/

答え4

私たちは通常、次のように入力します。

zip -r [file_name.zip] [file_name]

この試み:

zip [file_name.zip] [file_name] -r

次に、初期構文を入力します。

zip -r [file_name.zip] [file_name]

驚いたことに、それは私に効果があります!

関連情報