Search code examples
macosapplescriptfinder

Tagging files with colors in OS X Finder from shell scripts


One can tag files and folders with a color in the Mac OS X Finder. Is there a way to do this from a shell script?


Solution

  • This shell script takes the file or folder name as its first argument and the label index (0 for no label, 1 for red, ..., 7 for gray) as its second argument.

    #!/bin/sh
    osascript -e "tell application \"Finder\" to set label index of alias POSIX file \"`cd -P -- "$(dirname -- "$1")" && printf '%s\n' "$(pwd -P)/$(basename -- "$1")"`\" to $2"
    

    More directly, if $filename is a shell variable with the absolute path name of the file or folder to be labeled and $label is a shell variable with the label index number,

    osascript -e "tell application \"Finder\" to set label index of alias POSIX file \"$filename\" to $label"
    

    is a shell command to assign the label to the file or folder.