web-dev-qa-db-ja.com

.DS_Storeを使わずにMacでフォルダを圧縮する

Mac上のフォルダを圧縮するときに.DS_Storeを取り除くためにとにかくありますか?

私はMacで仕事をしてZip形式でクライアントに仕事を送っていますが、常にその中の.DS_Storeフォルダに疑問を投げかけられます。 Windowsでフォルダを開いてから.DS_Storeを削除して圧縮しない限り、それは避けられないようです。とても大きな手間です。

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

62
danixd

端末に飛び込んでも構わないのであれば、これはかなり簡単です。 $ HOMEディレクトリである/Users/usernameにいて、Zipしたいfooという名前のサブディレクトリがあるが、すべての.DS_Storeファイルを無視する場合は、次の手順を実行します。

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

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

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

間抜けなサードパーティ製のアプリケーションは必要ありませんし、あなたの.DS_Storeファイルをまったくゴミ箱に入れる必要もありません - ちょうどOSX/Darwinに組み込まれているすべてのunixツールの長所に頼ります。

105
whaley

フォルダを入力として受け入れ、フォルダの内容のZipファイルを作成するオートメーションアプリケーションを作成することができます。

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

Create an automator application

追加 ' 選択したFinderアイテムを取得 'ステップ。また、 ' Pass input 'オプションを ' として引数 'に設定して ' run Shell script 'ステップを追加します。

Add workflow steps

スクリプト:

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ファイルを作成します。

5
Michiel Roos

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

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

whaleyの答え は、間違いなく最善の方法です。私の場合は、アーカイブユーティリティからZipを作成してから、これらを削除する必要があることに気付きました。

3
James Taylor

私はデフォルトでそれをする方法があるとは思わないが、私があなたが望むものを達成するために考えることができる2つの方法がある。

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

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

3
Delameko

これをTerminalで実行すると、フォルダを作成したときに自動的に生成されなくなります。選択した場合はオンに戻すことができます。

defaults write com.Apple.desktopservices DSDontWriteNetworkStores true

それから、上記の@Penangの例を使用して、ファイルがもう作成されていないかどうかを確認できます。私はZipファイルをアップロードしなければなりませんでした、そして、すべてのフォルダーはその中にそのファイルを持っていました、そしてこれは私を助けました。

2
Evan

ターミナル(/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
Penang

これらのアーカイブを作成するには、 CleanArchiver を使用してください。こうすればあなたはあなたのフォルダーの好みを捨てる必要はない。

2
Daniel Beck

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

これらは、フォルダの設定(アイコンの位置、色、フォルダの背景、スクロール位置など)を格納するために使用される隠しファイルです。一部のユーザー.

0
Trezoid