.DS_StoreなしのMacでのフォルダーの圧縮


63

とにかく、Macでフォルダーを圧縮するときに.DS_Storeを削除する必要はありますか?

私はMacで作業し、クライアントにzip形式で作業を送信しますが、常にクライアント内の.DS_Storeフォルダーについて質問を受けます。Windowsでフォルダを開いてから.DS_Storeを削除し、そこで圧縮しない限り、避けられないようです。それは非常に大きな面倒です。

簡単な回避策はありますか?

回答:


108

ターミナルに飛び込むことを気にしない場合、これは非常に簡単です。あなたが/Users/username$ HOMEディレクトリであり、zipしたいがすべての.DS_Storeファイルを無視するfooという名前のサブディレクトリがある場合は、次の手順を実行します。

zip -r foo.zip foo -x "*.DS_Store"

これを解釈するために、次のパラメーター/引数を使用してzip実行可能ファイルを実行しています。

  • -r zipしたいターゲットの下にすべてのディレクトリを再帰的に含めるため。
  • foo.zip は、作成するzipアーカイブの名前です
  • foo 圧縮したいターゲットディレクトリです
  • -x "*.DS_Store" パスが文字列「.DS_Store」で終わるすべてのファイルを除外します

間抜けなサードパーティ製のアプリケーションは必要ありません。また、.DS_Storeファイルを破棄する必要もありません。OSX/ Darwinに組み込まれているすべてのUNIXツールの良さに頼ってください。


1
これは完璧な感謝です。興味深いことに、マルチパスの末尾をどのように除外しますか?zip -r foo.zip foo -x "* .DS_Store、* .svn"のようなものですか?
danixd

5
二回-x引数を使用します zip -r foo.zip foo -x *.DS_Store -x *.svn*
Whaleyらによって行われま

OSXがカスタムフォルダーアイコン用に作成するアイコンファイルをどのように除外しますか?ファイル名の最後に改行またはそのようなものがあります。
ダニエルベック

これらのファイル名がどのように見えるのかわからないので、ここでは実際のガイダンスを提供できません。
クジラ

1
@Daniel Beck-だからCleanArchiverを使い続けて、他の誰かの質問のコメントセクションをハイジャックし、元のポスターで明らかに機能するときにソリューションが劣っているという回答を受け入れないのですか?あなたの質問に対する答えは、驚くほど十分です-x 'Icon?'。「?」ファイルグロビングパターンの文字は「単一のワイルドカード文字に一致する」ことを意味するため、「?」の内容に関係なく一致します。本当に -x引数を追加するだけで、あらゆる種類のアドホックファイルを除外できます。 zip非常に柔軟です。これらのサードパーティのユーティリティは、舞台裏で実際に何を使用すると思いますか?
クジラ

5

入力としてフォルダーを受け入れ、不要なフォルダーの内容のzipファイルを生成するオートマトンアプリケーションを作成できます。

このアプリケーションを/ Users / you / Applicationsに保存してから、ファインダーツールバーにドラッグします。その後、任意のファインダーウィンドウからフォルダーをアプリにドラッグできます。

オートマトンアプリケーションを作成する

選択したファインダーアイテムを取得する」ステップを追加します。また、「入力を渡す」オプションを「引数として」に設定して、「シェルスクリプト実行」ステップを追加します。

ワークフローステップを追加する

スクリプト:

name=("$@")
cd "$name"
zipFileName=`basename "$name"`
zip "${zipFileName}.zip" -r ./* \
    -x */.DS_Store \
    -x */.git \
    -x */.svn \
    -x */.idea \
    -X */__MACOSX
mv "${zipFileName}.zip" ../

入力としてフォルダーを受け入れ、フォルダーの名前でzipファイルを生成します。


それは素晴らしい!複数のファイルをドラッグできるように変更するには、出力名にdirnameを含める必要があります。
10

2
@unbreak知らない。私はもうMacを所有していません;-)
ミシエル・ルース

3

デフォルトでそれを行う方法はないと思いますが、あなたが望むものを達成するために考えられる2つの方法があります。

まず、FolderWasherという無料アプリを見つけました。フォルダーをアプリにドロップすると、.DS_Storeファイルが削除され、zip圧縮されます。

または、サードパーティのソフトウェアよりも優れている可能性がありますが、Automatorを使用して、作成後にアーカイブをクリーンアップできます。実際に、このために作成されたアクションが実際にあります。これはもう1つの追加ステップにすぎません。アクションをFinderにドラッグして、簡単に見つけることができます。


3

既にzipアーカイブを作成している場合(またはzip作成後の.DS_Storeを削除する簡単な方法が必要な場合)、zipアーカイブ内の任意のパスにあるすべての.DS_Storeファイルを削除します。

zip -d archive.zip "*/*.DS_Store"

whaleyの答えは間違いなく最高です。なぜなら、それはエイリアスされ忘れられる可能性があるからです。私の場合、アーカイブユーティリティからzipを作成し、これらを削除する必要があることに気付きました。


2

ターミナル(/Applications/Utilies/Terminal.app)を開き、次のコマンドを実行して隠しファイルを表示します。

defaults write com.apple.finder AppleShowAllFiles TRUE && killall Finder

隠しファイルを非表示にするには、次を実行します:

defaults write com.apple.finder AppleShowAllFiles FALSE && killall Finder

ディレクトリに害を及ぼすことなく、他のファイルと同様に.DS_Storeファイルを削除できます。ウィキペディアで述べたように、「DS_Store(デスクトップサービスストア)は、アイコンの位置や背景画像の選択など、フォルダーのカスタム属性を保存するためにApple Inc.のMac OS Xオペレーティングシステムによって作成された隠しファイルです。」



2

これをターミナルで実行すると、フォルダーの作成時に自動生成が停止します。選択した場合は、オンに戻すことができます。

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

その後、@ Penangの例(上記)を使用して、ファイルがもう作成されていないかどうかを確認できます。zipファイルをアップロードする必要があり、すべてのフォルダーにそのファイルが含まれていたため、これが役に立ちました。


0

それらが何であるかについての説明があり、すべての場所のアドビヘルプサイトでそれらを削除する方法があります。

これらは、フォルダの構成(アイコンの位置、色、フォルダの背景、スクロールの位置など)を保存するために使用される隠しファイルです。残念ながら、Appleは、一部のユーザー。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.