Làm cách nào tôi có thể áp dụng các thẻ trong Mavericks một cách đệ quy?


9

Bây giờ Mavericks đã loại bỏ thanh màu xấu xí đó và thay thế nó bằng một dấu chấm đẹp mắt, tôi muốn sử dụng các thẻ nhiều hơn.

Về cơ bản tôi có các tệp công việc ở những nơi khác nhau liên quan đến các dự án khác nhau và tôi muốn áp dụng thẻ cho tất cả các tệp có trong các thư mục cụ thể. Các tệp có thể di chuyển xung quanh vào các thư mục mới (bên ngoài thư mục gốc) trong tương lai, vì vậy tôi muốn áp dụng một cách đệ quy thẻ vào một thư mục để tôi có thể tìm thấy nó dễ dàng hơn nếu nó được chuyển ra khỏi thư mục của nó.

Câu trả lời:


7

Bạn có thể sử dụng xattr để viết các siêu dữ liệu khác nhau liên quan đến các thẻ "mới" trong Mavericks. John Siracusa đã nâng rất nhiều ở đây .

Về cơ bản, bạn cần phải viết hai thuộc tính, com.apple. DownloaderInfo và com.apple.metadata: _kMDItemUserTags vào các tệp. Cách dễ nhất là lấy một tệp được gắn thẻ theo cách bạn muốn và chỉ cần sao chép các thuộc tính từ nó. Mở terminal và thay đổi thư mục chứa thư mục bạn muốn gắn thẻ đệ quy. Sau đó nhập:

touch sampleFile
open .

Điều đó sẽ mở Finder để bạn có thể gắn thẻ sampleFile theo cách bạn muốn tất cả các tệp khác được gắn thẻ. Sau khi gắn thẻ xong, hãy quay lại cửa sổ terminal và nhập:

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`"

Điều đó sẽ đệ quy sâu và gắn thẻ tất cả các tệp trong yourDirName cũng như các tệp trong bất kỳ thư mục con nào. Bạn có thể bỏ tham số -type f nếu bạn muốn gắn thẻ các thư mục con cũng như các tệp.

Cuối cùng, bạn có thể thay đổi

find yourDirName -type f

lệnh để

find yourDirName -iname "*.ext"

nếu bạn muốn chỉ gắn thẻ các loại tệp / phần mở rộng nhất định.


Yêu nó. Tôi đã đọc bài đánh giá Ars tương tự và tôi đã tự hỏi làm thế nào tôi có thể đính kèm siêu dữ liệu cần thiết cho mỗi tệp.
Steve W.

10

Có một công cụ thẻ CLI có sẵn thông qua Macports / Homebrew: https://github.com/jdberry/tag

Nó dường như không có tùy chọn đệ quy, tuy nhiên, tôi sẽ tưởng tượng bạn có thể sử dụng kết hợp này với 'tìm kiếm' UNIX tiêu chuẩn.

ví dụ: (từ bên trong thư mục bạn muốn gắn thẻ tệp)

find . -exec tag --add tagname {} \;  -print 

Phiên bản hiện tại (thẻ v0.8.1) hỗ trợ gắn thẻ đệ quy bằng cách sử dụngtag -e -d --add tagname path
Munkymorgy

3

Một cách đơn giản để làm điều này là sử dụng tìm kiếm Spotlight để tạo danh sách tất cả các tệp bạn quan tâm. Một ví dụ về cách thực hiện việc này:

  • Trong Finder, điều hướng đến đầu cấu trúc thư mục mà bạn quan tâm.
  • Nhập -kind:foldervào trường tìm kiếm Spotlight

    Điều này sẽ tìm kiếm tất cả các tệp không phải là một thư mục ( -dấu hiệu phủ nhận kết quả).

  • Hãy chắc chắn rằng sau đó bạn giới hạn tìm kiếm trong hệ thống phân cấp thư mục mà bạn quan tâm bằng cách nhấp vào tên của thư mục trong cụm từ tìm kiếm ngay bên dưới trường tìm kiếm Spotlight.

Bây giờ bạn sẽ có một danh sách trong cửa sổ Finder của tất cả các tệp trong hệ thống phân cấp thư mục đó. Bây giờ thật đơn giản để chọn tất cả các tệp và áp dụng các thẻ bạn muốn theo cách thông thường với Finder.

Sử dụng các tìm kiếm Spotlight khác nhau để phù hợp với nhu cầu của bạn.

Bạn có thể làm cho quá trình này dễ dàng hơn một chút bằng cách làm cho Spotlight luôn tìm kiếm trong thư mục hiện tại và không This Mac:

Finder -> Preferences -> Advanced -> When performing a search: Search the current folder


1

Chuyển đến thư mục trên cùng và tìm kiếm '.' trong thư mục đó

Chọn tất cả các tệp và gắn thẻ chúng.

Bạn có thể cần phải xóa thẻ sau đó áp dụng lại nó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.