Варіант 1: Використання ліщини
Можна авто-тегувати папки / файли в папку, використовуючи комерційне програмне забезпечення Hazel , який, згідно з його розробником Noodlesoft, "спостерігає за папками, які ви їм повідомляєте, автоматично організовуючи ваші файли відповідно до створених вами правил."
Варіант 2. Використання дій папки
Можна авто-тегувати папки / файли в папку за допомогою Дії папки особливість macOS . Я написав наступний AppleScript, заснований частково на одному з дефолтів Apple Сценарії дій папки і частково за сценарієм, наданим у обговорення в спільнотах підтримки Apple . Я протестував цей сценарій у Mac OS X 10.6.8, 10.9.5 і 10.11.6, і він працював у всіх трьох версіях macOS (але див. Важливе застереження нижче).
property label_color : {none:0, orange:1, red:2, yellow:3, blue:4, purple:5, green:6, gray:7}
on adding folder items to this_folder after receiving these_items
tell application "Finder"
try
repeat with i from 1 to number of items in these_items
set this_item to item i of these_items
set label index of this_item to red of label_color
end repeat
end try
end tell
end adding folder items to
Перший рядок сценарію, property label_color : {none:0, orange:1, red:2, yellow:3, blue:4, purple:5, green:6, gray:7}
, насправді не потрібно; Я тільки що включив його, щоб показати, який номер індексу етикетки відповідає кожному кольору. Можна видалити перший рядок і змінити його red of label_color
до 2
і сценарій буде мати той самий ефект.
Є кілька способів приєднати цей AppleScript до папки як Сценарій дій папки . Один із способів - відкрити Automator, створити новий Дія папки , додайте a Запустіть AppleScript дії, і замінити зміст Запустіть AppleScript дія з цим сценарієм - але це не спрацювало в моєму тесті. Інший спосіб, який працював у моєму тесті, - це зберегти сценарій у будь-якому /Library/Scripts/Folder Action Scripts/
(для використання будь-яким користувачем) або в ~/Library/Scripts/Folder Action Scripts/
(для використання лише поточним користувачем), а потім виконайте наступні дії:
- У Finder, Контроль + Натисніть (або клацніть правою кнопкою миші) на будь-яку папку, щоб показати контекстне меню.
- У контекстному меню виберіть Налаштування дій папки (або Послуги і потім Налаштування дій папки ).
- У вікні підказок виберіть ім'я скрипта, який ви щойно зберегли.
- Перевірте Увімкнути дії папок у верхньому лівому куті Налаштування дій папки вікна, якщо вона ще не перевірена.
Важливе застереження
Технічно попередній скрипт встановлює лише файл етикетці , що не зовсім так само, як a тег Як пояснив Джон Сіракуза Ars Technica огляд реалізації тегів в OS X 10.9 ; однак у Finder в OS X 10.9 і пізніших версіях результат попереднього скрипта не відрізнятиметься від тега. Попередній сценарій працює у версіях Mac OS X 10.6 або пізнішої версії.
Більш надійний Сценарій дій папки що встановлює червоний тег і етикетці замість тільки червоного етикетці (хоча, як я вже сказав, результати невідмінні в Finder) можна знайти в AppleScript, наведеному нижче.
Наведений нижче сценарій вимагає, щоб ви спочатку встановили програму James Berry тег інструмент (який вимагає OS X 10.9 або пізнішої версії). Його можна легко встановити за допомогою менеджера пакетів Домашнє ( brew install tag
) або MacPorts ( sudo port install tag
). Якщо ви встановите його з Homebrew, замініть /opt/local/bin/tag
(це шлях MacPorts) з /usr/local/bin/tag
(що є дорожній шлях) у сценарії нижче.
on adding folder items to this_folder after receiving these_items
tell application "Finder"
try
repeat with i from 1 to number of items in these_items
set this_item to item i of these_items
do shell script "/opt/local/bin/tag --add Red " & quoted form of POSIX path of this_item
end repeat
end try
end tell
end adding folder items to
Третій спосіб написати AppleScript (в OS X 10.9 і пізніших версіях) буде встановлюватися Бібліотеку AppleScript / Objective-C, яку написав Шейн Стенлі FileTagsLib а потім замінити do shell script
рядок у скрипті вище за допомогою відповідної команди, як описано в FileTagsLib документацію, але я не випробував цей третій варіант.