首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Automator Workflow Finder标记

Automator Workflow Finder标记
EN

Stack Overflow用户
提问于 2017-02-03 03:01:29
回答 1查看 748关注 0票数 0

我在lightroom中有数千张照片,我正在将其转换为JPEG以节省空间。问题是,这些原始文件已经被分类到不同的finder标签标签中,所以当我导出到JPEG时,这些标签将被删除。有没有办法保留这些标签,或者只是创建一个automator工作流程,扫描一个目录,找到文件名与.CR2/.NEF扩展名完全相同的JPEG,并将这些标签应用于新的JPEG文件?

macOS塞拉

Mac Pro (2013年末)

3.7 GHz四核英特尔至强E5

版本10.12.3 (16D32)

EN

回答 1

Stack Overflow用户

发布于 2017-02-03 15:05:05

堆栈溢出不是你让别人为你开发东西的地方。你应该启动你的程序,然后你可以从这里得到帮助。所以这里有一些帮助:

1)没有标准的Automator操作来获取或设置标签。但是Applescript包含了关于标签的函数。

2)但是,请注意,Applescript功能目前仅限于每个文件一个颜色标签,即使您可以在Finder中设置多个颜色标签。因此,如果您为每个CR2或NEF文件设置了多个颜色标签,Applescript还不能帮助您

3)你需要在你的JPEG文件中建立一个“重复”循环,并为每个文件提取不带扩展名的名称。这可以通过以下方式完成:

代码语言:javascript
复制
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)您必须使用该名称添加两个可能的扩展名(CR2、NEF),并搜索原始文件夹中是否存在该文件。您可以通过使用Finder函数"exists“来完成此操作

5)如果CR2/NEF文件存在,获取标签,并使用文件属性"label index“将其设置为jpeg文件:

代码语言:javascript
复制
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文件与raw文件在同一个文件夹/子文件夹中,您只需选择一个包含所有文件的文件夹即可。对于每个jpg,如果原始文件存在,则在相同的文件夹级别进行搜索。包含文件的文件夹由"container“调用。要从所有子文件夹级别获取文件,请使用“整个内容”。我只是添加了一个过滤器,只获取扩展名为"jpg“或"JPG”的文件。您可能需要将列表扩展到您的分机。

总而言之,它提供了:

代码语言:javascript
复制
-- 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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42010263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档