PR

【簡単】zipファイルに含まれる不要な「__MACOSX」や「.DS_Store」を削除する方法

Mac

Macでzipファイルを作成すると、不要な「__MACOSX」フォルダや「.DS_Store」ファイルが含まれることがあります。これらはWindowsや他の環境では不要なため、削除する方法を紹介します。


1. 不要なファイルが含まれる理由

  • 「__MACOSX」フォルダ:MacのFinderが生成するメタデータを含む隠しフォルダ。
  • 「.DS_Store」ファイル:フォルダの表示設定を保存するためのファイル。

これらのファイルは、WindowsやLinux環境では意味がなく、邪魔になることがあるため、削除するのが望ましいです。


2. zip作成時に不要ファイルを除外する方法(推奨)

ターミナルを使って以下のコマンドを実行すると、不要なファイルを含まないzipファイルを作成できます。

zip -r archive.zip folder_name -x "__MACOSX/*" "*.DS_Store"

このコマンドでは、対象フォルダをzip圧縮する際に「__MACOSX」と「.DS_Store」を除外しています。


3. 既存のzipファイルから不要ファイルを削除する方法

既に作成されたzipファイルから不要なファイルを削除する場合、以下の手順を実行します。

1.zipファイルを解凍

unzip archive.zip -d temp_folder

2.不要なファイルを削除

find temp_folder -name "__MACOSX" -or -name ".DS_Store" | xargs rm -rf

3.再度zipファイルを作成

cd temp_folder zip -r ../clean_archive.zip .

この方法を使うと、不要なファイルを除去したzipファイルを作成できます。


4. 自動で削除するシェルスクリプトを作成

何度もこの作業を行う場合、以下のシェルスクリプトを作成して自動化すると便利です。

#!/bin/bash
if [ -z "$1" ]; then
  echo "Usage: $0 <zip-file>"
  exit 1
fi

unzip "$1" -d temp_folder
find temp_folder -name "__MACOSX" -or -name ".DS_Store" | xargs rm -rf
cd temp_folder
zip -r "clean_$1" .
cd ..
rm -rf temp_folder
echo "Cleaned zip file created: clean_$1"

スクリプトのポイント

  • 引数チェックを追加し、正しい使い方を促す。
  • zipファイル名を動的に変更し、元ファイルを上書きしないようにする。
  • 不要なフォルダを確実に削除。

このスクリプトを使用すると、簡単に不要ファイルを削除したzipを作成できます。


5. まとめ

新しくzipを作成する場合zip -r archive.zip folder_name -x "__MACOSX/*" "*.DS_Store"

既存のzipを整理する場合:zipを解凍後、不要ファイルを削除し再圧縮

自動化する場合:シェルスクリプトを活用

これで、不要な「__MACOSX」や「.DS_Store」ファイルを簡単に削除できます!

タイトルとURLをコピーしました