macOSでWindowsでも確実に開けるZIPファイルを作る方法
macOSでWindowsでも確実に開けるZIPファイルを作る方法
macOSで作成したZIPファイルをWindowsユーザーに送ったら「ファイルが壊れていて開けない」「文字化けしている」と言われた経験はありませんか?
この記事では、macOSのターミナルを使って、Windowsでも確実に開けるZIPファイルを作成する方法を紹介します。
問題:macOSで作ったZIPがWindowsで開けない理由
macOSの標準的な方法(Finderの「圧縮」やzipコマンド)で作成したZIPファイルには、以下のような問題があります:
1. 文字化けの問題
macOSとWindowsでは、ファイル名の文字エンコーディングの扱いが異なります:
- macOSの標準
zipコマンド: ファイル名をUTF-8で保存 - Windows: 日本語環境ではCP932(Shift-JIS)を期待
このミスマッチが、日本語ファイル名の文字化けを引き起こします。
2. macOS固有ファイルの問題
macOSで作成したZIPファイルには、以下のようなmacOS固有のファイルが含まれてしまいます:
__MACOSXフォルダ: 謎のフォルダが展開される._で始まるファイル: 各ファイルに対応する隠しファイルが大量に出現.DS_Storeファイル: Finderの表示設定ファイル
これらのファイルが原因で:
- Windowsの一部の解凍ソフトでエラーが発生
- 「ファイルが壊れている」と表示されることがある
- 不要なファイルがたくさん展開されて混乱する
解決策:dittoコマンドを使う
macOSに標準搭載されているdittoコマンドを使えば、これらの問題をすべて解決できます。追加ソフトのインストールは不要です。
dittoコマンドで作成したZIPファイルは:
- ✅ 日本語ファイル名が文字化けしない
- ✅
__MACOSXフォルダが含まれない - ✅
._で始まるmacOS固有ファイルが除外される - ✅ Windowsで「ファイルが壊れている」エラーが出ない
- ✅ Windows 10/11の標準機能で正常に解凍できる
基本コマンド
ditto -c -k --norsrc --keepParent フォルダ名 出力ファイル名.zip
オプションの説明:
-c: アーカイブを作成-k: PKZip形式(ZIP)で作成--norsrc: macOS固有のリソースファイルを完全に除外--keepParent: 親フォルダを含める
実際の使用例
デスクトップのフォルダをZIP化する
デスクトップにある「Documents」フォルダをZIPにする場合:
ditto -c -k --norsrc --keepParent ~/Desktop/Documents ~/Desktop/Documents.zip
これでDocuments.zipがデスクトップに作成され、解凍するとDocumentsフォルダが展開されます。Windows PCでも文字化けなく問題なく解凍できます。
日本語フォルダ名でも大丈夫
日本語のフォルダ名も問題なく処理できます:
ditto -c -k --norsrc --keepParent ~/Desktop/資料 ~/Desktop/資料.zip
スペースや特殊文字が含まれる場合は、クォートで囲むと確実です:
ditto -c -k --norsrc --keepParent ~/Desktop/"プロジェクト 資料" ~/Desktop/"プロジェクト 資料.zip"
なぜdittoだと文字化けしないのか?
ここからは、dittoコマンドがWindows互換性が高い理由を技術的に解説します。すぐに使いたい方は、この部分を飛ばしても問題ありません。
1. UTF-8フラグの適切な設定
dittoコマンドは、ZIP形式のUTF-8フラグを適切に設定します。
ZIP仕様(6.3.0以降)には「General Purpose Bit Flag」というものがあり、11ビット目がONの場合「このファイル名はUTF-8です」という意味になります。最近のWindowsのZIP解凍機能(Windows 10以降)は、このフラグを見てUTF-8として正しく処理できます。
2. macOS固有の問題を完全に回避
--norsrcオプションは、macOS特有のファイルをZIP内に一切含めません:
除外されるファイル:
.DS_Store: Finderの表示設定ファイル._で始まるファイル: リソースフォーク(macOSのメタデータ)__MACOSXフォルダ: これらのファイルをまとめる隠しフォルダ
これらのファイルが含まれていると、Windows側で以下のような問題が起こります:
- 謎のファイルが大量に表示される
- 解凍ソフトによっては「ファイルが壊れている」とエラーが出る
__MACOSXというフォルダが出現して混乱する
dittoコマンドの--norsrcオプションを使えば、これらのファイルを完全に除外した、クリーンなZIPファイルが作成されます。
3. Apple公式の互換性重視ツール
dittoはAppleが「WindowsとmacOS間でファイルをやり取りする」ことを想定して作ったツールなので、最初から互換性が考慮されています。
# 標準zipコマンド(Windowsで問題が起きる)
zip -r output.zip folder/
→ UTF-8フラグ設定が不十分
→ __MAXOSXフォルダや._ファイルが含まれる
→ Windowsで「壊れている」と表示されることがある
# dittoコマンド(Windows互換性が高い)
ditto -c -k --norsrc --keepParent folder/ output.zip
→ UTF-8フラグを適切に設定
→ macOS固有ファイルを完全に除外
→ Windowsで確実に開ける
フォルダ名とZIP名の関係
ZIP名とフォルダ名を揃える
ditto -c -k --norsrc --keepParent ~/Desktop/任意の名前 ~/Desktop/任意の名前.zip
結果:
- ZIPファイル名:
任意の名前.zip - 解凍後のフォルダ名:
任意の名前
解凍後のフォルダ名を変更したい場合
--keepParentオプションを使うと、元のフォルダ名がZIP内に保持されます。
例えば、以下のようにZIP名だけ変更しても:
ditto -c -k --norsrc --keepParent ~/Desktop/move ~/Desktop/配布用ファイル.zip
解凍するとmoveフォルダが出てきます(元の名前のまま)。
解凍後のフォルダ名も変更したい場合は、元のフォルダ名を変更してからZIP化します:
# フォルダをコピーして名前変更
cp -r ~/Desktop/move ~/Desktop/配布用ファイル
# ZIP化
ditto -c -k --norsrc --keepParent ~/Desktop/配布用ファイル ~/Desktop/配布用ファイル.zip
# 不要ならコピーを削除
rm -rf ~/Desktop/配布用ファイル
もっと便利に使う:エイリアスの登録
よく使う場合は、エイリアスを登録すると便利です。
エイリアスの設定方法
- ターミナルでホームディレクトリの設定ファイルを開く:
nano ~/.zshrc
(古いmacOSの場合は~/.bash_profileを使用)
- 以下の行を追加:
alias winzip='ditto -c -k --norsrc --keepParent'
-
ファイルを保存して終了(Ctrl+O → Enter → Ctrl+X)
-
設定を反映:
source ~/.zshrc
エイリアスの使い方
設定後は、簡単なコマンドでZIP化できます:
winzip ~/Desktop/Documents ~/Desktop/Documents.zip
既存のZIPファイルを作り直す場合
すでにmacOSの標準機能で作成したZIPファイルがあり、Windowsで開けないと言われた場合は、以下の手順で作り直せます:
# 1. デスクトップに移動
cd ~/Desktop
# 2. 既存のZIPを解凍
unzip 既存のファイル名.zip
# 3. dittoコマンドでWindows互換ZIPを作成
ditto -c -k --norsrc --keepParent フォルダ名 新しいファイル名.zip
# 4. 不要なファイルを削除(任意)
rm 既存のファイル名.zip
rm -rf フォルダ名
実例:
cd ~/Desktop
unzip 税理士用.zip
ditto -c -k --norsrc --keepParent 税理士用 税理士用_clean.zip
rm 税理士用.zip
rm -rf 税理士用
これで__MACOSXフォルダや._ファイルが完全に除外された、Windows互換のZIPファイルが作成されます。
まとめ
macOSからWindowsユーザーにZIPファイルを送る際は、必ずdittoコマンドを使いましょう:
ditto -c -k --norsrc --keepParent フォルダ名 出力名.zip
dittoコマンドを使うべき理由:
- ✅ 日本語ファイル名が文字化けしない
- ✅
__MACOSXフォルダや._ファイルが含まれない - ✅ Windowsで「ファイルが壊れている」エラーが出ない
- ✅ Windows 10/11で確実に開ける
- ✅ macOSに標準搭載されており、追加インストール不要
**macOSの標準的な方法(Finderの「圧縮」やzipコマンド)は、Windowsユーザーに送るZIPファイルには使わないでください。**トラブルの原因になります。
よく使う方は、エイリアスを登録してwinzipなどの短いコマンドで使えるようにすると便利です。
これで、Windowsユーザーとのファイルのやりとりでトラブルが起きることはなくなります!