Odpowiada to na bardziej szczegółowe pytanie w twoim komentarzu do twojego pierwotnego pytania. Prawdopodobnie było to nowe pytanie, ponieważ jest o wiele bardziej szczegółowe.
Aby ustawić „Kolorową etykietę” aktualnie wybranych plików, możesz połączyć program AppleScript (lub program powłoki korzystający z osascript ) z dowolną z wielu aplikacji uruchamiających (Quicksilver, FastScripts itp.), Które mogą uruchamiać AppleScript programy (lub programy powłoki) oparte na kombinacji klawiszy skrótu.
W przypadku każdego z poniższych skryptów wklej je do edytora skryptów / edytora AppleScript i zapisz w formacie „skryptowym” (lub dowolnym innym formacie, którego używa wybrany program uruchamiający). Zwykle miejsce na takie zapisane skrypty to ~ / Library / Scripts / Applications / Finder, ale w zależności od programu uruchamiającego możesz użyć innych lokalizacji.
Oto prosta wersja, którą możesz na stałe zakodować w dowolnej etykiecie:
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
Jeśli masz tylko kilka używanych etykiet, możesz zapisać kilka kopii tego dokumentu i przypisać klucz do każdej kopii.
Oto wersja, która zawsze monituje o zastosowanie etykiety:
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
Po wyświetleniu okna dialogowego wpisz jedną z cyfr 0–7, aby wybrać etykietę, a następnie naciśnij klawisz Return, aby zastosować ją do elementów wybranych w Finderze.