重复多个列表的内容

时间:2018-12-28 14:59:26

标签: applescript

下面是我一直在工作(并获得帮助)的脚本的简化版本。 并且一切正常。 我想开发此功能,以便在启动脚本时显示带有按钮的对话框,并执行以下操作。

按钮一同时运行“ Spec1”和“ Spec2”

两个按钮同时运行“ Spec2”和“ Spec3”

按钮3显示了一个列表对话框,可以选择“ Spec1”,“ Spec2”,“ Spec3”(就像脚本已经执行的那样)

最终的脚本将有更多的规格,但这足以说明我要实现的目标

谢谢

-- Spec realted file extensions

--Spec 1
set ListSpec1 to {"_0006", "_0007", "_0010", "_0011"}

--Spec 2
set ListSpec2 to {"_0000", "_0001", "_0002", "_0003", "_0004", "_0005"}

--Spec 3
set ListSpec3 to {"_0006"}


-- Obtain user choice of PS action 
set PhotoshopActionList to {"Spec1", "Spec2", "Spec3"}
set ChosenSpec to choose from list PhotoshopActionList with title "Actions       Picker" with prompt "Choose Action?"


-- If user cancels, then terminate the script
if ChosenSpec is false then
error number -128 (* user cancelled *)
else
set ChosenSpec to ChosenSpec's item 1 (* extract choice from list*)
end if

--Set image source folder
set SourceFolder to (choose folder with prompt "Choose Base Images:")
set FoldertoReplace to SourceFolder & ChosenSpec as text

--set image save folder
set DestinationFolder to (choose folder with prompt "Choose Save Location:")
set filelocation to DestinationFolder as text


--Setting Files list
tell application "Finder" to set filesList to files of entire contents of        SourceFolder whose name ends with ".tif"

repeat with CurrentFile in filesList
tell application "Finder"
    set NameF to name of CurrentFile
    set currentFileAlias to (CurrentFile as alias) as text
end tell


-- Canadian Files Lists 
if ChosenSpec is "Spec1" then
    set theListSpecToUse to ListSpec1
else if ChosenSpec is "Spec2" then
    set theListSpecToUse to ListSpec2
else
    set theListSpecToUse to ListSpec3
end if


-- the file name contains a valid pattern, then process the file
if FNameOK(NameF, theListSpecToUse) then

    --open photoshop
    tell application "Adobe Photoshop CC 2017"
        open alias currentFileAlias

        --Canadain Actions
        if ChosenSpec is "Spec1" then
            do action "Spec1" as text from "Specs"
        else if ChosenSpec is "Spec2" then
            do action "Spec2" as text from "Specs"
        else if ChosenSpec is "Spec3" then
            do action "Spec3" as text from "Specs"
        end if


        --Saving to Format


        -- Canadian Saves
        if ChosenSpec is "Spec1" then
            save current document in filelocation as TIFF with options {class:TIFF save options, image compression:LZW, transparency:true, embed color profile:true}
        else if ChosenSpec is "Spec2" then
            save current document in filelocation as TIFF with options {class:TIFF save options, image compression:LZW, transparency:true, embed color profile:true}
        else
            save current document in filelocation as PNG with options {class:PNG save options, compression:9, interlaced:false} appending no extension with copying
        end if

        --Close Photoshop Document
        close current document without saving

    end tell
end if
end repeat


on FNameOK(Local_Name, LocalList) -- check if the file name contains an   element of the list
set LocalCheck to false
repeat with OneItem in LocalList
    if Local_Name contains OneItem then
        return true
    end if
end repeat
return false
end FNameOK

0 个答案:

没有答案