Теперь, когда Mavericks удалили эту уродливую цветную полосу и заменили ее красивой точкой, я хотел бы больше использовать теги.
В основном у меня есть рабочие файлы в разных местах, которые связаны с разными проектами, и я хотел бы применить тег ко всем файлам, включенным в определенные папки. Файлы могут перемещаться в новые папки (вне исходной папки) в будущем, поэтому я хотел бы рекурсивно применить тег к папке, чтобы мне было легче, если он будет перемещен из своей папки.
Вы можете использовать xattr для записи различных метаданных, связанных с «новыми» тегами в Mavericks. Джон Сиракуза уже сделал тяжелую работу здесь .
По сути, вам нужно записать в файлы два атрибута, com.apple.FinderInfo и com.apple.metadata:_kMDItemUserTags. Самый простой способ — пометить файл так, как вы хотите, и просто скопировать из него атрибуты. Откройте терминал и перейдите в каталог, содержащий папку, которую вы хотите рекурсивно пометить. Затем введите:
touch sampleFile
open .
Это откроет Finder, чтобы вы могли пометить sampleFile так , как вы хотите, чтобы все остальные файлы были помечены. После того, как вы закончите пометку, вернитесь в окно терминала и введите:
find yourDirName -type f | xargs xattr -wx com.apple.FinderInfo \
"`xattr -px sampleFile`"
find yourDirName -type f | xargs xattr -wx com.apple.metadata:_kMDItemUserTags \
"`xattr -px com.apple.metadata:_kMDItemUserTags sampleFile`"
Это рекурсивно развернет и пометит все файлы в yourDirName , а также файлы в любых подкаталогах. Вы можете оставить аргумент -type f отключенным, если хотите пометить не только файлы, но и подкаталоги.
Наконец, вы можете изменить
find yourDirName -type f
команды
find yourDirName -iname "*.ext"
если вы хотите пометить только определенные типы/расширения файлов.
Через Macports/Homebrew доступен инструмент тегов CLI: https://github.com/jdberry/tag .
Однако, похоже, что у него нет опции рекурсии, я полагаю, что вы могли бы использовать это в сочетании со стандартным поиском UNIX.
например, (изнутри каталога, в который вы хотите пометить файлы)
find . -exec tag --add tagname {} \; -print
tag -e -d --add tagname path
Один из простых способов сделать это — использовать поиск Spotlight для создания списка всех интересующих вас файлов. Пример того, как это сделать:
Введите -kind:folder
в поле поиска Spotlight
Это будет искать все файлы, которые не являются папкой ( -
знак сводит на нет результаты).
Затем убедитесь, что вы ограничили поиск интересующей вас иерархией папок, щелкнув имя папки в условиях поиска сразу под полем поиска Spotlight.
Теперь у вас будет список в окне Finder всех файлов в этой иерархии папок. Теперь достаточно просто выбрать все файлы и применить нужные теги обычным способом с помощью Finder.
Используйте различные поисковые запросы Spotlight в соответствии с вашими потребностями.
Вы можете немного упростить этот процесс, заставив Spotlight всегда искать в текущей папке, а не This Mac
:
Finder -> Preferences -> Advanced -> When performing a search: Search the current folder
Перейдите в верхнюю папку и найдите «.» внутри этой папки.
Выберите все файлы и пометьте их.
Возможно, вам придется удалить тег, а затем повторно применить его.
Стив В.