Как создать сохраненный поиск, который исключит конкретную папку из результатов?

24

Я пытаюсь настроить сохраненный поиск на моем Mac, чтобы исключить файлы в папке с именем «XYZ» из результатов поиска. Причина в том, что я получаю массу ложных срабатываний из этой папки, которые трудно разобрать.

Просто чтобы прояснить, я знаю, что вы можете добавлять папки в список «Конфиденциальность» в настройках Spotlight, но я не хочу добавлять эту папку в этот список - потому что я не хочу исключать ее из всех будущих поисков Просто этот конкретный сохраненный поиск. Есть идеи, как это можно сделать?

user1457323
источник
После некоторого поиска в Google и моих собственных тестовых поисков, я не думаю, что это можно сделать :(
Цезий
Это, кажется, общее согласие. Спасибо, что нашли время, чтобы посмотреть на это. Я отмечу этот вопрос как завершенный, если вы хотите представить его как ответ.
user1457323

Ответы:

8

Я просмотрел некоторые из сохраненных файлов поиска в комплекте приложений Finder и, например, /System/Library/CoreServices/Finder.app/Contents/Resources/MyLibraries/myDocuments.cannedSearch/search.savedSearchиспользовал такой формат для исключения каталогов:

<key>FXScopeArrayOfPaths</key>
<array>
  <string>~/</string>
  <string>-Library</string>
  <string>-Music/iTunes</string>
  <string>-Documents/Steam Content</string>
  <string>~/Library/Mobile Documents/</string>
  <string>-com~apple~Keynote</string>
  <string>-com~apple~Pages</string>
  <string>-com~apple~Numbers</string>
</array>

Таким образом, вы можете исключить подпапки, добавив строки, начинающиеся с символа минус после полного пути. Нечто подобное -~/Libraryне работает.

Вы можете редактировать сохраненные файлы поиска, поместив их в текстовый редактор. RawQueryDict:SearchScopesи, FXScope:FXScopeArrayOfPathsкажется, по умолчанию перечисляет те же пути, но простое редактирование второго, по-видимому, исключает папки, по крайней мере, в Finder.

LRI
источник
1
Возможно, вы обнаружили что-то здесь. Это похоже на работу! Спасибо, что выяснили это. Вы избавили меня от головной боли - и, вероятно, от множества других, которые найдут этот вопрос в будущем.
user1457323
Позор, что это не может быть сделано без редактирования XML, но да, очень приятно найти :)
Цезий
Кто-нибудь знает, может ли имя папки совпадать независимо от пути? то есть. игнорировать подпапку / nospotlight в каждой родительской папке, / folder1 / nospotlight, / folder2 / nospotlight ....
jb510
Я могу подтвердить, что это работает, отредактировав файлы ~/Library/Saved Searchesв OSX 10.10.x
Ашутош Джиндал
2
Больше не работает в Сьерре
DisplayName
16

Если вы удерживаете optionкнопку (+), чтобы добавить критерии поиска, станет (…) и Any/All/Noneблок. Установите для этого значение Нет .

Для критериев выберите Document Container. Это не будет в списке по умолчанию вместе Name, Kindи т.д. Выберите , Other…чтобы выбрать его из списка дополнительных критериев, пока она имеет свою собственную функцию поиска : Все эти атрибуты

Установите это имя папки, которую вы хотите исключить, используя то, что is/contains/begins with/ends withвы считаете подходящим.

Конечный результат должен выглядеть примерно так: результат

Озеро
источник
1
Это работает, и должен был быть выбранный ответ. :) Спасибо.
Рониксус
1
Это не работает для меня на OSX 10.9.5
Новая Александрия
Только что проверил в 10.10 [Йосемити], и это кажется неизменным. У меня нет машины 10,9 [Mavericks] для проверки в данный момент, но я не помню, чтобы она отсутствовала. Какая часть не работает для вас?
Озеро
2
Возможная причина, по которой Document Containerневозможно исключить папки: apple.stackexchange.com/questions/132860/… (это не работает для меня на 10.8.5)
Ашутош Джиндал
1
Не работает для меня в Сьерре.
DisplayName
5

Я хочу добавить, что, если «Контейнер документов» не работает для вас (например, это моя проблема), вы можете настроить папку поиска на выбор определенных папок.

Извините, у меня нет «представителей», чтобы публиковать изображения, поэтому я сделаю все возможное. Это мой первый пост, так что не стесняйтесь.

Для работы с музыкальной организацией я хотел, чтобы папка iTunes скрывала ошибочные подпапки. Конечно, перемещение папок из папки iTunes не было возможным, так как это сломало бы / взбесило iTunes и создало бы те же самые папки. Вот как я сделал это, настроив метод Лейка:

  1. Перейдите в папку iTunes, в меню Finder> Файл> «Новая смарт-папка»
  2. В начальных критериях поиска выберите Kind> is>Folder
  3. Следуя указаниям Lake, в раскрывающемся списке, созданном удерживанием optionи (+), выберите Any of the following are true(это для включения папок). Чтобы отказаться от папок, как указано выше в Lake, измените «Any» на «None».
  4. Поскольку я «выбираю» папки, я вложил 5 критериев под Anyопцией, которая выглядела так (например, используются настоящие имена папок):

Name is"Автоматически добавлять в iTunes"
Name is"Музыка"
Name is"MUSIC TO ADD - MAIN FOLDER"
Name is"Результаты TuneUp"
Name is"MusicBrainz Tagging"

Таким образом, конечный результат заключается в том, что когда я нажимаю на Smart Search (для меня он расположен на боковой панели Finder), я вижу только те 5 папок, которые мне нужны, не разрушая внутреннюю структуру основной папки, в которой они находятся.

Надеюсь, это поможет.

Matt
источник
3
Добро пожаловать на сайт! Спасибо, что нашли время для подробного описания вашего решения. Если вы считаете, что скриншот поможет, загрузите его на общедоступный сайт (например, Dropbox) и добавьте ссылку на ответ или в комментарии. Кто-то с большей репутацией будет встраивать его в ваш ответ.
nohillside
1

В настоящее время я не думаю, что это можно сделать. Похоже, что довольно много людей пытаются это сделать, и Google не находит реального ответа (кроме исключения из конфиденциальности) :(

цезий
источник
0

В искателе, когда вы ищете файлы, вы можете исключить их, добавив минус перед критериями. Например, я хочу найти все файлы, которые не являются файлами PDF, я могу написать «Kind is -pdf». Кажется, это работает для меня.

user61982
источник
0

Я почти уверен, что нашел другой способ сделать это.

При настройке смарт-папки используйте атрибут поиска Raw Query. По умолчанию его нет в раскрывающемся меню атрибута поиска, поэтому вам нужно будет найти его, нажав «Другое» в нижней части раскрывающегося меню.

В поле ввода рядом с необработанным запросом введите:

kMDItemPath != "/Users/yourname/Documents/foldertoexclude" 

в котором текст в кавычках - это путь к папке, которую нужно исключить, которую можно найти с помощью функции «Получить информацию».

Стефания
источник
Это не работает для меня на OSX 10.9.5
Новая Александрия
2
Я действительно надеялся, что это сработает, но не радости. Документы говорят «[...], но не могут быть использованы в запросе или для сортировки результатов поиска». ( developer.apple.com/library/mac/documentation/CoreServices/… ) по любой причине, которую мы никогда не узнаем,
dualed
-1

Я слишком страдал от той же проблемы и нашел способ сделать это.

Перейдите в «Система предпочтений»> «Прожектор»> «Выбрать», затем выберите вкладку «Конфиденциальность», и вы можете добавить определенные места, которые нужно исключить из поиска Spotlight.

Я пробовал, это работает.

жилль
источник
Вы пропустили эту часть? «Чтобы было ясно, я знаю, что вы можете добавлять папки в список« Конфиденциальность »в настройках Spotlight, но я не хочу добавлять эту папку в этот список, потому что я не хочу исключать ее из всего будущего. поиски, только этот конкретный сохраненный поиск.
Джим Л.