AutomatorのSierra 10.12.3で動作するようにこれを得ました。
まず、このバージョンのスクリプトを作成しました。
これはfreefly42と同じように機能しますが、同じことを書くのは異なる方法です。
ネイティブではないbashスピーカーのために翻訳すると、それは何をするのですか:
コマンドライン引数を指定して実行した場合、引数がディレクトリかどうか、およびそのディレクトリに ".disable_osx metadata"という名前のファイルが含まれているかどうかを確認します。
特殊ファイルが存在しない場合は、何も起こりません。そのドライブは無視されます。
特別なファイルがある場合、スクリプトはすべてのosxメタデータを削除し、他のことを妨げるいくつかの小さな新しい項目を作成します。たとえば、.Trashesという名前のファイルを作成すると、OSは.Trashesという名前のディレクトリを作成してそこにファイルを書き込むことができなくなります。
引数なしで実行すると、/ Volumes内の各ディレクトリに対して1回ずつ実行されます。
したがって、手動で実行するかクリックすると、接続されているすべてのドライブがチェックされます。
Automatorでワークフローを作成した場合、Automatorはドライブが接続されているときはいつでもそのドライブに対してのみそれを実行します。
#!/bin/bash
x=.disable_osx_metadata
[[ "$1" ]] || exec find /Volumes -type d -maxdepth 1 -mindepth 1 -exec $0 {} \;
[[ -e "$1/$x" ]] || exit 0
mdutil -i off "$1"
rm -rf "$1"/.{,_.}{fseventsd,Spotlight-V*,Trashes}
mkdir "$1/.fseventsd"
touch "$1/.fseventsd/no_log" "$1/.Trashes" "$1/$x"
"disable_osx_metadata"としてchmod 755として保存し、/ usr / local / binにコピーします。
$ cd Documents/disable_osx_metadata/
$ chmod 755 disable_osx_metadata
$ sudo cp disable_osx_metadata /usr/local/bin
それからAutomator、New、Folder Actionを開く。
それから、私はSierra 10.12.3でも、Automatorに/ Volumesディレクトリを追加できることを、明白でない方法で確認できます。
Finder、File、「Go To Folder ...」の順に選択し、手動で「/ Volumes」と入力してEnterキーを押します。
今、これはあなたにあなたのHDとusbドライブを持っているウィンドウを見せます、しかしクリックするべき明白な "/ Volumes"フォルダー。
しかし、タイトルバーに "/ Volumes"と表示されていて、一番下にも表示されています。
[/ Volumes]の横にあるフォルダアイコンをタイトルバーまたは下からAutomatorにドラッグして、[フォルダアクションで追加されたファイルやフォルダを受け取る]にドロップすることができます。[______]
Finderを閉じます。
Automatorに戻る:左にスクロールして「Get Folder Contents」を右にドラッグしてドロップします。
次に、左側をもう一度スクロールして「Run Shell Script」を右にドラッグし、「Get Folder Contents」の下にドロップします。
「Pass input:」を「arguments as」に変更します。
シェル:[/ bin / bash]入力:[引数として]
それから/ usr / local / binから "Run Shell Script"の下のボックスにスクリプトをドラッグしてください。
"/ usr / local / bin / disable_osx_metadata"
ファイル、保存、disable_osx_metadata.workflow
参考までに、これは次の場所に保存されます。 /ユーザー/自分の名前/ライブラリ/ワークフロー/アプリケーション/フォルダアクション 間違ったものを保存した場合は、それを削除するためにFinderで手動で移動する必要があると思います。
最後に、保護する新しいUSBドライブごとに、ルートフォルダに ".disable_osx_metadata"という名前のファイルを作成する必要があります。
あなたはターミナルでそれをすることができます:
$ touch / Volumes / NO \ NAME / .disable_osx_metadata
または、小さなテキストファイルを目に見える名前(先頭にドットを付けず)を付けて保存し、新しいusbドライブのルートにコピーして、コピー後に.disable_osx_metadataという名前に変更します。
そのドライブはこれから接続するたびにきれいになります。
私が望むほどきれいではありません。あなたはそれをもっと汚染しないようにOSに伝えるために、ドライブを少し汚染する必要があります。 OSが単純にそのままにして、あなたが要求しなかったファイルを追加しないようにする方法はないようです。
TODO:ドットファイルを作成/削除するための有効/無効機能を追加しました。
TODO:これはすべてのディレクトリの.DS_Storeファイルを妨げるわけではありません。
TODO:ユーザーがこれらの手動の指示の大部分をスキップできるように、スクリプトとfoo.workflowファイルをパッケージ化することは可能ですか? Automatorには、ある種のパッケージファイルを作成する「エクスポート」オプションがあります。
TODO:この記事全体をおそらく時代遅れにする。このAppleScript + automatorのワークフローはもっと良いかもしれません。 https://superuser.com/questions/319553/does-anyone-have-a-mac-terminal-script-to-remove-hidden-files/814104#814104