2017-02-02 2 views
0

Lightroomには、スペースを節約するためにJPEGに変換する何千もの写真があります。問題は、これらのRAWファイルが既に別のファインダーラベルタグに分類されているため、JPEGに書き出すときにこれらのラベルが削除されることです。これらのタグを保持する方法や、ディレクトリをスキャンして正確なファイル名を.CR2/.NEF拡張子として使用し、新しくJPEGファイルにタグを適用するオートメーションワークフローを作成する方法はありますか?Automatorワークフローファインダタグ

MacOSのシエラ

のMac Pro(後期2013)

3.7 GHzのクアッドコアのIntel Xeon E5

バージョン10.12.3(16D32)

答えて

0

スタックオーバーフローがどこの場所ではありませんあなたは誰かにあなたのために何かを開発するよう頼みます。あなたはあなたのプログラムを始めるべきです、そして、あなたはここから助けを得ることができます。したがって、ここにいくつかのヘルプがあります:

1)ラベルを取得または設定する標準のAutomatorアクションはありません。しかし、Applescriptにはラベルに関する機能が含まれています。

2)ただし、AppleScriptの機能は、現在、Finderで複数を設定できる場合でも、ファイルごとに1つのカラーラベルに制限されています。 CR2またはNEFファイルごとに複数のカラーラベルを設定している場合、AppleScriptはまだ手助けできません。

3)JPEGファイルから「繰り返し」ループを作成し、それぞれを拡張子なしで抽出する必要があります。これは、を介して行うことができます。

tell application "Finder" 
    set N to name of aFile 
    set Ext to name extension of aFile 
    set BaseName to text 1 thru ((length of N) - (length of Ext) - 1) of N 
end tell 

4)あなたは、2つの可能な拡張子(CR2、NEF)を追加し、ファイルが生のフォルダ内に存在するかどうか検索し、その名前を使用する必要があります。あなたCR2/NEFファイルは、ラベルを取得し、ファイル属性「ラベルインデックス」を使ってJPEGファイルに設定が存在する場合)ファインダー機能を使用することにより

5の「存在」することを行うことができます。

set myLabel to label index of file CR2 -- to read CR2 file label 
set label index of aFile to myLabel -- to assign the label found to your new jpg file 

6)あなたのJpgファイルは生のファイルと同じフォルダ/サブフォルダにあるので、すべてのファイルを含む単一のフォルダを選択するだけです。各jpgごとに、生のファイルが存在するかどうかを同じフォルダレベルで検索します。ファイルを含むフォルダは "コンテナ"によって呼び出されます。すべてのサブフォルダレベルからファイルを取得するには、「コンテンツ全体」を使用します。私は拡張子 "JPG"または "JPG"のファイルを取得するだけのフィルタを追加するだけです。あなたはあなたの拡張にリストを拡張する必要があるかもしれません。

はすべて一緒にそれを与える:

-- possible values label index: 0= no label, 1=orange, 2=Red, 3=yellow, 4=blue, 5=pink, 6=green, 7=grey 
set myFolder to choose folder with prompt "Select folder containing JPEG and raw files" 

tell application "Finder" 
set JPEGFiles to every file in entire contents of folder myFolder whose name extension is in {"JPG", "jpg"} 
repeat with aFile in JPEGFiles -- loop through all jpeg files 
    -- extract name of Jpg file without extension 
    set N to name of aFile 
    set Ext to name extension of aFile 
    set parentFolder to (container of aFile) as string -- get folder 
    set BaseName to text 1 thru ((length of N) - (length of Ext) - 1) of N 
    -- build possible raw file names with extension .CR2 or .NEF 
    set CR2 to (parentFolder & BaseName & ".CR2") as string 
    set NEF to (parentFolder & BaseName & ".NEF") as string 

    -- search existing label and assign it to jpg file 
    set myLabel to 0 -- default no label 
    if CR2 exists then set myLabel to label index of file CR2 -- get label of .CR2 if exists 
    if NEF exists then set myLabel to label index of file NEF -- get label of .NEF if exists 
    if myLabel > 0 then set label index of aFile to myLabel -- if label found, assignment to jpg file 
end repeat -- loop to next file in jpg folder 
end tell 
+0

ありがとうございました!あなたはそれを私のためにまとめてくれますか?私はコードの2つの部分が最初の答えで追加された –

+0

スクリプトを結合する場所がわからない。 – pbell

+0

素晴らしい!完璧に動作します。今私はそれもすべてのサブフォルダを含める必要があります。可能? –

関連する問題