zip の解凍中に、同じパスに同じ名前のファイルが 2 つ作成されるのはなぜでしょうか?

zip の解凍中に、同じパスに同じ名前のファイルが 2 つ作成されるのはなぜでしょうか?

zip ファイルを解凍しています (自己解凍ですが、おそらく問題にはなりません)。いくつかのファイルで、すでに解凍されたファイルを、これから解凍するファイルで置き換えるかどうかを尋ねるダイアログが表示されます。一見すると、zip ファイルに同じファイルが同じ場所に複数回含まれることが理解できませんでした。その後、7zip (または任意のツール) を使用して問題のファイルを参照し、次の内容を見つけました。

ここに画像の説明を入力してください

違いはブロック番号にあります。ここでは実際に何が起こっているのでしょうか?

答え1

はい、ZIPファイル形式では同じ名前のファイルを複数持つことができます。ZIP内のファイルは実際にはディレクトリ内にはなく、単に長い名前が付けられています。オプションでパスを含める. そして、ファイルは端から端まで連結されて ZIP に追加されます。 ZIP 形式でシノニムが問題を引き起こす唯一の場所はディレクトリで、おそらく後者のファイルが前のファイルを置き換えるためです。 しかし、ZIP ファイル全体を抽出する場合 (個々のファイルを抽出する場合ではなく)、一般的なアプローチはディレクトリを無視し、ZIP に表示される順序でファイルを抽出することです。

表示される画像は、もちろん、Windows ディレクトリではなく、ZIP ファイルの内容です。

答え2

はい。.zip ファイルには同じファイルを 2 つ含めることができます。これは、zip ツールの「アーカイブに追加」機能を使用して実行できます。デフォルトでは、抽出時に後のファイルによって前のファイルが上書きされます。これは通常望ましい動作です。

また、大文字と小文字を区別しないファイルシステム (Windows または Mac OS) に抽出する場合、ファイル名/パスの大文字と小文字のみが異なるファイルは同一であるとみなされます。

答え3

名前の大文字と小文字のみが異なる 2 つのファイルを同じファイル名とみなす Windows を使用しているようです。

アーカイブが大文字と小文字を区別するファイルシステム (ほとんどの Linux のものなど) で作成され、2 つのファイルの大文字と小文字が異なっている可能性があります (例: ENTRIES、Entries、entries)。

出力を見ると、ファイルのサイズ、日付、CRC は同じなので、これらのファイルは同一であり、一方を他方で安全に上書きできます。これらのファイルで作業中に、ローカルの一時バックアップとして別のケースでコピーした可能性があります。ブロック番号は、それらが zip ファイル内の異なる場所に保存されていることを示しています。これは明らかです。

答え4

同じパスに同じファイル名を 2 つ指定することはできません。システムが拡張子を隠しているかどうか確認しましたか? これが 2 つのファイルの違いである可能性があります。1 つはバックアップ ファイルかもしれません。

関連情報