Windows で macOS の Zip ファイルを解凍する方法と、Mac で作成された Zip ファイルの「__MACOSX」フォルダーは Zip コンテンツを探すのに適切な場所ですか?

Windows で macOS の Zip ファイルを解凍する方法と、Mac で作成された Zip ファイルの「__MACOSX」フォルダーは Zip コンテンツを探すのに適切な場所ですか?

誰かが Mac ラップトップから PDF ファイルを Zip 形式で大量に送信してきました。現在、PDF ファイルを抽出しようとしています。

私は Windows 10 を使用していますが、フォルダーを抽出でき__MACOSX、その中に多数の PDF ファイルを含むフォルダーがありますが、バイナリでファイルを見ると、実際には正しい PDF 形式ではありません。

ファイルの先頭近くに、ATTRやなどのプレーンテキストの挿入がいくつかあり、com.dropbox.attrs また、明らかにバイナリの挿入もいくつかあり、おそらくそれらの属性の値です。

これは Zip の癖でしょうか? それとも、送信者が Dropbox からダウンロードしたときなど、これらのファイルは元々破損していたのでしょうか? それとも、私が間違った場所を探しているのでしょうか?

__MACOSXファイルを探す場所はフォルダではないのですか?


注記私の質問は、何__MACOSXを意図していたのか、なぜ Apple が標準のファイル形式を使用しないのかといった理論的なものではありません。

私の質問は純粋に実用的なものです。送られてきた PDF ファイルを緊急に必要としているのですが、どうすればそれらを使用可能な形式 (役に立たない「属性」挿入によって破損していない形式) で抽出できるでしょうか (または、どうすればそれらの挿入を削除して PDF ファイルを修復できるでしょうか)。

解決策の 1 つは、誰かから Mac ラップトップを借りて、そこで Zip を開くことだと想像できますが、Mac でそれを開く方法がわかりません。または、USB スティックを使って、それらを転送する方法はありますか?

絶対に間違いのないステップバイステップの手順を教えてください。何をすべきかわかっていたら、質問しません。

答え1

__MACOSXWindows ではフォークは必要ないので、zip を Windows コンテンツだけに縮小することもできます。

この cmd スクリプトは、広範囲なチェックは行わず、独自の機能強化のためのテンプレートであることに注意してください。問題を回避し、必要に応じて結果を調整するために、作業フォルダーに MAC ファイルの作業用「コピー」を用意する必要があります。

ここでは、ドラッグ アンド ドロップの例が使用されています。スクリプトは 1 つのフォルダーにあり、 はVBExample.zip独自のフォルダーにあります。サブフォルダーは表示されますが、まだ解凍されていません。

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

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

zip がバックアップされ、フォークなしでサイズが縮小された後、ボーナスとして解凍されたコンテンツがそこにあります (必要に応じて削除できます)。
ここに画像の説明を入力してください

このスクリプトは、すべての Mac の zip で動作するという「保証はありません」。より一般的なバリアントでは動作します。常に、入手した zip のコピーで使用してください。その後、必要に応じて作業コピーを削除してください。

if not exist "%~dpn1.zip" goto EOF
pushd "%~dp1"

copy "%~dpn1.zip" "%~dpn1-backup.zip"
tar -xf "%~dpn1.zip"
rd /s /q __MACOSX
tar -a -cf "%~dpn1.zip" "%~n1\*.*"

if not exist "%~dpn1.zip" echo FAILED & pause
REM [optionally remove the unpacked folder] RD /S /Q "%~n1"

:exit
popd

失敗の理由としては、ファイル名がフォルダー名と一致しない場合や、新しい zip が 1 KB と小さすぎる場合などが挙げられます。 ここに画像の説明を入力してください

このような場合には、正しい名前の zip フォルダーに送信することで簡単に再構築できます。 ここに画像の説明を入力してください ここに画像の説明を入力してください

または、外側の zip 名が内側のフォルダー名を反映していることを確認します。 ここに画像の説明を入力してください

関連情報