zipの抽出中に、同じパスに同じ名前の2つのファイルがあるのはどうしてですか?


12

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

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

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

回答:


8

はい、ZIPファイル形式では、同じ名前の複数のファイルを使用できます。ZIP内のファイルは実際にはディレクトリにありませんが、オプションでパスを含む長い名前を持っています。また、ファイルは、エンドツーエンドで効果的に連結することにより、ZIPに追加されます。同義語がZIP形式で問題を引き起こす唯一の場所は、おそらくより新しいファイルが以前のファイルを置き換えるディレクトリです。ただし、ZIPファイル全体を抽出する場合(個々のファイルを抽出する場合)、一般的なアプローチはディレクトリを無視し、ZIPに表示される順序でファイルを抽出するだけです。

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


4

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

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


1

Windowsを使用しているように見えますが、大文字と小文字が異なる2つのファイルは同じファイル名であると見なされます。

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

出力を見ると、ファイルは同じサイズ、同じ日付、同じCRCを持っているため、これらのファイルは同一であるため、一方を他方で安全に上書きできます。それらのファイルで作業しているときに、ローカルの一時バックアップとして別のケースでコピーした人もいるかもしれません。ブロック番号は、それらがzipファイルの異なる場所に格納されていることです。これは明らかです。


0

同じファイル、同じ拡張子(または、この場合、拡張子なし)。前述のように、これは、zipファイルの内部構造が実際にはフォルダーではないため、zipファイルに複数のファイルを手動で追加することによって発生する可能性があります。また、zipファイルがLinuxなどの大文字と小文字を区別するシステムで作成され、Windowsなどの大文字と小文字を区別しないファイルシステムで開かれている場合にも発生する可能性があります。

Windowsでは、ファイルを抽出するためにドラッグアンドドロップすると、このような衝突が実際にGUIをロックするように見えることに注意してください。ただし、タスクを強制終了して再起動する必要はありません。これは7-Zipの既知のバグであり、マウスがロックされている場合でもキーボードを使用してオプション間を移動できます(例:すべて置換)-> http://sourceforge.net/p/sevenzip/bugs/1509/


-3

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


同じファイル(拡張子を持つ、たまたま空白である)同じパス。スクリーンショットflickr.com/photos/46007162@N03/5278220416を参照してください-同じファイルですが、2つの異なるブロックとして表示されます。それが何を意味するのか分かりません。
ハウィキャンプ

2
別の場所で述べたように、zipアーカイブには同じファイルを2回含めることができます。
ダニエルRヒックス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.