2012-03-12 18 views
1

DNG/XMPファイルを管理するのに役立つ自動化アクションを作成したいと思います。私はDNG(または複数)をDNGと一致するXMPファイルをゴミ箱に送るアクションにDNGをドラッグできるようにしたいと思います。ファイルは拡張子を除いて同じ名前を持ち、同じディレクトリにあります。例えば、IMGP1361.DNGとIMGP1361.xmp同じディレクトリに同じ拡張子を持つ同じファイル名を見つけるAutomator/AppleScript

これはシェルスクリプトにとっては簡単な作業ですが、それを行うAutomatorの方法があります(Automatorの詳細はこちら)。入力ファインダ項目のファイル名を取得し、変数で変更し、それを別のアクションの入力として使用する方法はありますか?

ありがとうございました。

+0

それは(Automatorのワークフローに埋め込むことができますが、する必要はありません、)AppleScriptを書くのは簡単だが、私は本当にポイントが表示されていない。なぜファインダービューをファイル名で並べ替えるだけでなく、取り除きたいファイルをすべて選択し、cmd + baskspaceを押しますか? – fanaugen

+0

良い質問 - EyeFiカードを使ってアップロードした画像でいっぱいになったディレクトリをスクロールして、保存したくないファイルをドラッグして、削除する一致するXMPファイルを見つけることを心配する必要がないようにしたいXMPファイルをスクロールする必要はありません)。 –

答えて

1

よろしくお願いします。あなたはこのようなAutomatorのワークフロー内で下記のAppleScriptを使用することができます。

Automator workflow

ファインダー内のすべての選択たファイルについて、その拡張子がext_listであれば、それは、ゴミ箱に移動されますので、拡張子がalso_these_extensionsのものと同じフォルダ内にある、同じ名前の他のすべてのファイルが表示されます。

などです。補助LaTeXファイルがあるフォルダをクリーニングする場合:"tex"ext_listに、他のすべての拡張子("aux", "dvi", "log"など)をalso_these_extensionsに入力するだけです。

選択したファイルは同じフォルダ内にある必要はありません。 Spotlightの検索結果ウィンドウで複数の項目を選択することもできます。

+0

私はdngファイルを保持しながら、すべてのnef/cr2 etcファイルを削除する以外は、これと同様の操作を行うためにこれを使用しようとしています。私はスクリプトを見て、私は "コピーthe_itemをdelete_listの終わりに"変更する必要がある唯一の行ですか? –

2

このスクリプトは、同じプレフィックスを共有し、grepコマンドに名前拡張子がリストされているすべてのファイルを削除します。追加の拡張機能を追加することもできます。 (XMP | DNG | PDF | xlsファイル)

on run {input, parameters} 
try 
    repeat with anItem in input 
     tell (info for anItem) to set {theName, theExt} to {name, name extension} 
     set shortName to text 1 thru ((get offset of "." & theExt in theName) - 1) of theName 
     tell application "Finder" 
      set parentFolder to parent of anItem as alias 
      set matchList to every paragraph of (do shell script "ls " & POSIX path of parentFolder & " | grep -E '" & shortName & ".(xmp|DNG)'") 
      delete (every file of parentFolder whose name is in matchList) 
     end tell 
    end repeat 
end try 
end run 
+0

名前にはショートネームが含まれていますが危険なフィルタであり、あまりにも多くのファイルが削除される可能性が高い変更です。だから私は上記のコードを使用することを提案しません –

+0

これはもう1つdjが好きですか? – adayzdone

+0

私はそれをもっとうまくやったことができませんでした:D(投票アップ) –

関連する問題