__MACOSXフォルダとは?Windowsで表示される原因と対策
MacからWindowsへZIPファイルを送ったとき、こんなクレームを受けたことはありませんか?
Windowsユーザーからすると、頼んでもいない謎のフォルダが入っているため、「圧縮ミスかな?」「怪しいものかな?」と不安にさせてしまいます。
__MACOSX フォルダの正体
この不思議な名前のフォルダには、「リソースフォーク」と呼ばれるMac特有の補足データが格納されています。
また、ファイル名の先頭に ._ がつくファイル(AppleDoubleファイル)も同様の理由で生成されます。これらは .DS_Store と並んで、Windowsユーザーを混乱させる代表的な不要ファイルです。
Macのファイルシステム(HFS+やAPFS)では、ファイルは「データフォーク(中身)」と「リソースフォーク(属性情報)」の2つで構成されることがあります。
- データフォーク: テキストや画像そのもののデータ
- リソースフォーク: アイコン画像、ウィンドウ位置、タグ情報など
Mac内ではこれらは1つのファイルとして扱われますが、Windowsなどの他のシステム(FAT32など)ではリソースフォークを扱えません。
そのため、Macの標準圧縮機能は、このリソースフォークを失わないように「__MACOSX」という別フォルダを作って退避させる仕様になっているのです。
Windowsユーザーには「怪しく不要なもの」に見える
Macにとっては「念の為とっておいたデータ」ですが、Windowsにとっては全く意味のないデータです。
結果として、解凍後のフォルダ内が散らかり、「どれが本物のファイルかわかりにくい」という状況を生み出します。特に納品物としてデータを送る場合、品質を疑われかねない要因になります。
どうやって消すの?
残念ながら、Finderの右クリック「圧縮」を使っている限り、このフォルダの生成を防ぐ設定はありません。
コマンドラインでの解決策
ターミナルで zip コマンドを使う場合、-X (eXclude eXtra file attributes) オプションを付けることで、リソースフォークを含めずに圧縮できます。
zip -r -X output.zip target_folder
これで多くのリソースフォークは除外されますが、「既に作られてしまっている ._ ファイル」までは消えないことがあります。その場合は、先に紹介した find . -name "._*" -delete などを併用する必要があります。
確認方法
zipinfo output.zip | grep __MACOSX 何も表示されなければ、きれいに除去できています。
解決策:専用ツールを使う
このMacOSの仕様を回避するには、標準機能以外の圧縮ツールを使うのが一番の近道です。
「Pon!とZip!」は、圧縮処理の段階でリソースフォーク(__MACOSX)を自動的に検知し、きれいさっぱり削除してからZIPファイルを作成します。
まとめ
「__MACOSX」フォルダはMacの仕様上これまでは「出るのが当たり前」でしたが、クロスプラットフォームでのやり取りが当たり前になった今、「出さないのがマナー」になりつつあります。
相手の環境を思いやるちょっとした気遣いが、スムーズな仕事のコミュニケーションを生みます。ぜひツールを活用して、スマートなデータ共有を実践してください。