iPhoneユーザーが圧倒的に多いこの日本ですが、PCとなるとまだまだ、Windowsが主流で、macOSを使っている人は少ないようです。
企業などで、全員が同じOSのPCを使っているのであれば問題ないのですが、そうでない場合にmacユーザーにとって面倒なのが、ファイルをzip圧縮した際に、mac特有の不要なファイルが紛れ込む問題です。
筆者はmacユーザーですが、社内にはWindowsユーザーもいます。実際にWindowsユーザーとのやりとりの中で同じ問題が起きたので、その原因と解決策を共有できればと思います。
Macでzip圧縮すると起こり得る現象
macOSのFinderでファイルを選択して、対象のファイルをzip圧縮することは簡単にできます。
しかし、Windowsユーザーとファイルを共有した際にWindowsユーザーがそのzipファイルを開くと「.DS_Store」「__MACOSX」という不要なフォルダが紛れ込こんでしまう問題が発生してしまいます。
この「.DS_Store」「__MACOSX」というファイルは、macOS特有のファイルで、表示スピードを上げるための(macOS用の)キャッシュファイルのようなものです。Windowsでは全く不要なファイルになります。さらに、Windowsで開くとファイル名が文字化けするケースも多いです。
mac/windows間でファイルのやりとりをする場合は、macユーザー側がきちんと余分なファイルが入り込まないように工夫して圧縮する必要があるわけです。
Macで不要なファイルを生成させずにzip圧縮する方法
Windowsにとって不要なファイルを毎回手動で削除するのは手間です。また、Macのデフォルト設定では不可視ファイルとなっており、「.DS_Store」などを見かけることもありません。
というわけで、最初から「.DS_Store」や類似ファイルの「__MACOSX」を生成しないようにzip圧縮する以下の方法を試してみましょう。
サードパーティのアプリケーションを使う場合
まずは便利なアプリがあるので、こちらを紹介いたします。
こちらのアプリを使えば、Windowsでの文字化けも防いでくれますし、「.DS_Store」などの不要なファイルも生成されません。ただし残念ながら、2019年12月現在、最新のmacOSであるCatalina(カタリナ)では、動作しないようです。ひとつ前のMojaveでは、動作するような情報もあるので、お使いのOSによっては一度試してみる価値はあるかもしれません。
また、類似のアプリで以下のようなものもあります。
こちらに関しては、最新のOSでも一応動作はするみたいですが、日本語名.zipなどのファイルを作るときに、___.zipのように文字化けする不具合があります。英字のファイル名なら問題なさそうですが、最新のOSにアップデートされている方には、おすすめはできません。
デフォルトのターミナル機能を使う場合
最新のOSにアップデートしているMacユーザーは、アプリではなく、ターミナルを使ったコマンドによるzip圧縮をオススメいたします。初めて使う方は少しためらうかもしれませんが、zip圧縮の操作に関しては、一度覚えてしまえば簡単です。
まず、わかりやすく操作するため、zip圧縮したいフォルダをデスクトップに配置しておきましょう。
次にアプリケーションを選択し、「ユーティリティー」の中から「ターミナル」をクリックします。
すると上記のようなCUIの画面が表示されますが、細かいことは気にせず、cd desktop と入力してみてください。このコマンドは”change directory”の頭文字で、作業ディレクトリに移動する時に使うコマンドです。
CUIについて詳しく知りたいという方は、下記記事も参考にご覧いただけます。
IT・WEB業界で働いている方や、プログラミングを勉強中の方は、CUIというワードを聞いたことがあるかと思います。ざっくりゆうと画面いっぱいに文字が表示されているような画面のことです。 多くの開発者は、そんなCUIを使いこなして作業していますが、なぜあのような画面で作業する必要があるのでしょう...
以上のコマンドを入力してenterボタンを押すと、圧縮したいzipファイルを置いているdesktopに移動します。ただし、実際に画面が切り替わるのではなく、ターミナル上での作業フォルダがデスクトップに変更されるという意味です。
下にdesktopに移動したという旨のテキストが追加されるので、続けて「.DS_Store」を含めずに圧縮する以下のコマンドを入力します。
zip ファイル名.zip -r ファイル名/ -x "*.DS_Store"
今回の「test」という名前のファイルを圧縮する場合の例であれば、こんな感じになりますね。半角スペースなどに気をつけて入力しましょう。
これでenterボタンを押すと無事デスクトップにzip圧縮されたファイルが作られているはずです。
このzipファイルには、「.DS_Store」は含まれていませんし、そもそもコマンド操作で圧縮したファイルには「__MACOSX」は生成されません。これで、安心してWindowsユーザーともzipファイルを共有できますね。
まとめ
Macユーザーがファイルをzip圧縮する際は一手間必要ですが、慣れてしまえば簡単です。
WEB業界で働く方や、不特定多数のクライアントとやりとりする場合などは、こういった一手間は必須項目のひとつです。渡したzipファイルに余計なファイルが紛れ込んでいるのは良くないですからね。
アプリで簡単に圧縮する方法は、OSのバージョンによって正しく動作しない場合もあるので、是非この機会にターミナルを使ってzip圧縮する方法にもチャレンジしてみてはいかがでしょうか。
逆にzipファイルを解凍したい場合は、下記の記事を参考にご覧いただけます。
つい先日macOSの最新版「Catalina(カタリナ)」がリリースされました。基本的にAppleから最新版のOSがリリースされても、状態が安定するまでしばらくはアップデートせずに様子を見ておく方がベターなのですが、弊社でもアップデートしているスタッフがいて現時点での少し面倒なバグを発見したので、そ...
圧縮したzipファイルにパスワードをかけたい時は、こちらの方法をお試しください。