Это отвечает на более конкретный вопрос в вашем комментарии к вашему первоначальному вопросу. Вероятно, это мог быть новый вопрос, поскольку он гораздо более конкретен.
Чтобы установить «Метку цвета» для выбранных файлов, вы можете объединить программу AppleScript (или программу оболочки, которая использует osascript) с любым из множества приложений «запуска» (Quicksilver, FastScripts и т.д.), Которые могут запускать AppleScript. программы (или программы оболочки), основанные на комбинации клавиш быстрого доступа.
Для любого из приведенных ниже сценариев вставьте их в редактор сценариев / редактор AppleScript и сохраните их в формате «сценария» (или в любом другом формате, который использует выбранный вами модуль запуска). Обычное место для таких сохраненных сценариев - ~ / Library / Scripts / Applications / Finder, но, в зависимости от вашей программы запуска, вы можете использовать другие места.
Вот простая версия, которую вы можете жестко закодировать на любой из меток:
on run
tell application "Finder"
repeat with anItem in (get selection)
(*
* 0 - none
* 1 - Orange
* 2 - Red
* 3 - Yellow
* 4 - Blue
* 5 - Purple
* 6 - Green
* 7 - Gray
*)
set label index of anItem to 4
end repeat
end tell
end run
Если у вас есть только несколько меток, которые вы используете, вы можете сохранить пару копий этого и привязать ключ к каждой копии.
Вот версия, которая всегда подсказывает вам, какой ярлык применить:
on run
tell application "Finder" to set selectedItems to selection
if length of selectedItems is 0 then
display dialog "Select some items in Finder before running this program." with title "Apply Finder Label to Selected Items" buttons {"OK"} default button {"OK"}
return
end if
set labels to prependIndicies(getLabelNames())
set default to first item of labels
set labelIndex to choose from list labels default items default with prompt "Choose label to apply to selected items" without empty selection allowed and multiple selections allowed
if labelIndex is false then return
set labelIndex to (first word of first item of labelIndex) as number
tell application "Finder"
repeat with anItem in selectedItems
set label index of anItem to labelIndex
end repeat
end tell
end run
to getLabelNames()
set labelNames to {"Orange", "Red", "Yellow", "Blue", "Purple", "Green", "Gray"}
set useCustomLabelNames to true -- change to false if this is too slow or does not work for you
if useCustomLabelNames then
set cmds to {}
repeat with i from 1 to 7
set end of cmds to "defaults read com.apple.Labels Label_Name_" & (8 - i) & " || echo " & quoted form of item i of labelNames
end repeat
set text item delimiters to {";"}
set labelNames to paragraphs of (do shell script (cmds as text))
end if
end getLabelNames
to prependIndicies(theList)
repeat with i from 1 to length of theList
set item i of theList to (i as text) & " - " & (item i of theList)
end repeat
{"0 - none"} & theList
end prependIndicies
Когда появится диалоговое окно, введите одну из 0-7, чтобы выбрать метку, затем нажмите «Return», чтобы применить ее к элементам, выбранным в Finder.