Tagging files with colors in OS X Finder from shell scripts

Ralf Ebert picture Ralf Ebert · Mar 12, 2010 · Viewed 9.3k times · Source

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?

Answer

Isaac picture Isaac · Mar 12, 2010

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.