Search code examples
applescriptfinderspotlight

Applescript to transfer spotlight comment and label


Am writing Applescript to take a list of folders, compress them to .zip files, and transfer the spotlight comment and label from the folder to the new file.

Thank you to CRGreen for the suggestion. Here is the final script.

on run {input, parameters}

tell application "Finder"
    set theItems to selection
    repeat with i from 1 to (count of theItems)

        set theItem to (item i of theItems) as alias
        set itemPath to quoted form of POSIX path of theItem
        set theParent to POSIX path of (container of theItem as alias)
        set fileName to theParent & (name of theItem) & ".zip"

        set zipFile to quoted form of fileName
        do shell script "zip -jr " & zipFile & " " & itemPath
        do shell script "setfile -a E " & zipFile

        set newItem to POSIX file fileName as alias
        set comment of newItem to (get comment of theItem)
        set label index of newItem to (get label index of theItem)

        set oldFolder to quoted form of (theParent & name of theItem)
        do shell script "rm -rf " & oldFolder

    end repeat
end tell

return input

end run


Solution

  • The magic of parentheses! (and alias coercion):

    set comment of ((POSIX file newItem) as alias) to theComment
    set label index of ((POSIX file newItem) as alias) to theLabel