Умная папка Исключить папку
В конечном итоге я хочу, чтобы результатом этой команды поиска была интеллектуальная папка.
Критерии не так сложны:
- имя должно быть "README.md"
- тип должен быть файл
- путь не должен содержать "node_modules"
find /Users/me/Documents -type f -name README.md -not -path "*/node_modules/*"
Проблема в том, что в списке операторов критериев умных папок отсутствует does not contain
опция.
Доступные варианты:
- Матчи
- содержит
- начинается с
- заканчивается
- является
- не является
Возможно ли это сделать, и если да, то как?
Редактировать 1
Я обнаружил, что, удерживая клавишу параметра, я могу добавить условие отрицания в критерии поиска смарт-папок, но, похоже, не могу успешно исключить папку node_modules. Неясно, какие критерии использовать, но ни один из тех, которые я пробовал, кажется не работает:
- Контейнер для документов
- Содержит имена папок
- Имя папки
Я попытался объединить их со следующими операторами:
- содержит
- Матчи
и со следующими условиями:
- node_modules
- node_modules
в случае, если он поддерживает поиск по шаблону.
Я перепробовал все комбинации вышеуказанных фильтров, операторов и терминов.
Документация очень плохая по этому вопросу.
источник
Ответы:
Похоже, kMDItemPath не может делать то, что вам нужно:
нет-результаты в-прожектора-в-поисках-против-kmditempath
Некоторые потенциальные альтернативы обсуждаются здесь:
как к найти-а-файл-в-прожектор-с использованием-папки-и-имя-файла
источник
Есть обходной путь, но это не очень красиво. Однако он будет служить вашим целям, если вы просто хотите получить доступ к своим файлам README в одной папке (используя указанные вами критерии) и иметь некоторое представление о том, откуда они берутся.
Идея состоит в том, чтобы использовать сценарий оболочки для поиска нужных файлов, а затем собирать псевдонимы для каждого файла в одном каталоге. Затем мы переименовываем псевдонимы, чтобы сообщить нам, к какому родительскому каталогу принадлежит исходный файл.
Applescript для этого ниже. Здесь это выглядит ужасно, но попробуйте вставить его в Script Editor и скомпилировать, и вы сможете увидеть логику.
источник