Wie kann ich eine gespeicherte Suche erstellen, die einen bestimmten Ordner aus den Ergebnissen ausschließt?

Ich versuche, eine gespeicherte Suche auf meinem Mac einzurichten, die Dateien in einem Ordner namens „XYZ“ aus den Suchergebnissen ausschließt. Der Grund dafür ist, dass ich eine Menge falsch positiver Ergebnisse aus diesem Ordner erhalte, die schwer zu sortieren sind.

Nur um das klarzustellen, ich weiß, dass Sie Ordner zu einer „Datenschutz“-Liste in den Spotlight-Einstellungen hinzufügen können, aber ich möchte diesen Ordner nicht zu dieser Liste hinzufügen – weil ich ihn nicht von allen zukünftigen Suchen ausschließen möchte , nur diese spezielle gespeicherte Suche. Irgendeine Idee, wie so etwas gemacht werden könnte?

Nach einigem Googeln und Herumspielen mit meinen eigenen Testsuchen glaube ich nicht, dass dies möglich ist :(
Das scheint allgemeiner Konsens zu sein. Vielen Dank, dass Sie sich die Zeit genommen haben, sich das anzusehen. Ich werde diese Frage als abgeschlossen markieren, wenn Sie sie als Antwort einreichen möchten.

Antworten (8)

Ich habe mir einige der gespeicherten Suchdateien im Anwendungspaket von Finder angesehen und beispielsweise /System/Library/CoreServices/Finder.app/Contents/Resources/MyLibraries/myDocuments.cannedSearch/search.savedSearchein Format wie dieses zum Ausschließen von Verzeichnissen verwendet:

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

Sie können also Unterordner ausschließen, indem Sie Zeichenfolgen hinzufügen, die nach einem vollständigen Pfad mit einem Minuszeichen beginnen. So etwas -~/Libraryscheint nicht zu funktionieren.

Sie können savedSearch-Dateien bearbeiten, indem Sie sie in einem Texteditor ablegen. RawQueryDict:SearchScopesund FXScope:FXScopeArrayOfPathsscheinen standardmäßig die gleichen Pfade aufzulisten, aber nur das Bearbeiten des zweiten schien Ordner zumindest im Finder auszuschließen.

Vielleicht haben Sie hier etwas entdeckt. Das scheint zu funktionieren! Danke, dass du das herausgefunden hast. Sie haben mir ziemlich viel Kopfzerbrechen erspart – und wahrscheinlich unzähligen anderen, die diese Frage in Zukunft finden werden.
Schade, dass es nicht geht, ohne XML zu bearbeiten, aber ja, sehr schön gefunden :)
Weiß jemand, ob ein Ordnername unabhängig vom Pfad abgeglichen werden kann? dh. Unterordner /nospotlight in jedem übergeordneten Ordner ignorieren, /folder1/nospotlight, /folder2/nospotlight....
Ich kann bestätigen, dass dies funktioniert, indem ich Dateien unter ~/Library/Saved SearchesOSX 10.10.x bearbeite
Arbeite nicht mehr in Sierra

Wenn Sie optiondie Taste (+) gedrückt halten, um ein Suchkriterium hinzuzufügen, wird es zu einem (…) und einem Any/All/NoneBlock. Stellen Sie dies auf Keine ein .

Wählen Sie für die Kriterien Document Container. Es wird nicht in der Standardliste neben Name, Kind, usw. angezeigt. Wählen Other…Sie es aus, um es aus einer Liste zusätzlicher Kriterien auszuwählen, solange es über eine eigene Suchfunktion verfügt :All diese Attribute

Setzen Sie dies auf den Namen des Ordners, den Sie ausschließen möchten, indem Sie verwenden, was is/contains/begins with/ends withSie für geeignet halten.

Das Endergebnis sollte in etwa so aussehen:Ergebnis

Dies funktioniert und hätte die ausgewählte Antwort sein sollen. :) Danke dir.
Dies funktioniert bei mir unter OSX 10.9.5 nicht
Habe gerade 10.10 [Yosemite] eingecheckt und es scheint unverändert zu sein. Ich habe im Moment keine 10.9 [Mavericks]-Maschine zur Hand, um sie zu überprüfen, aber ich kann mich nicht erinnern, dass sie gefehlt hat. Welcher Teil funktioniert nicht für Sie?
Möglicher Grund, warum Document Containermöglicherweise nicht zum Ausschließen von Ordnern verwendet werden kann: apple.stackexchange.com/questions/132860/… (Funktioniert bei mir unter 10.8.5 nicht)
Funktioniert bei mir in Sierra nicht.

Ich möchte hinzufügen, dass Sie, wenn "Document Container" bei Ihnen nicht funktioniert (wie bei meinem Problem), den Suchordner so einstellen können, dass bestimmte Ordner aktiviert/deaktiviert werden.

Verzeihen Sie mir, ich habe nicht die "Wiederholungen", um Bilder zu posten, also werde ich mein Bestes tun. Dies ist mein erster Beitrag, also zögere nicht zu brennen.

Für meinen Arbeitsablauf bei der Musikorganisation wollte ich, dass der iTunes-Ordner fehlerhafte Unterordner ausblendet. Natürlich war das Verschieben von Ordnern aus dem iTunes-Ordner keine Option, da es iTunes dazu bringen würde, dieselben Ordner neu zu erstellen. So habe ich dies erreicht, indem ich die obige Methode von Lake optimiert habe:

  1. Navigieren Sie zum iTunes-Ordner im Finder-Menü > Datei > "Neuer intelligenter Ordner".
  2. Wählen Sie in den anfänglichen Suchkriterien Kind> is> ausFolder
  3. optionFolgen Sie dem Beispiel von Lake und wählen Sie in der Dropdown-Liste, die durch Halten von und (+) erstellt wurde, Any of the following are true(dies ist für Opt-in-Ordner) aus.
  4. Da ich Ordner "anmelden" habe, habe ich dann 5 Kriterien unter der AnyOption verschachtelt, die so aussahen (tatsächliche Ordnernamen werden zum Beispiel verwendet):

Name is„Automatisch zu iTunes hinzufügen“
Name is„Musik“
Name is„MUSIK ZUM HINZUFÜGEN – HAUPTORDNER“
Name is„TuneUp-Ergebnisse“
Name is„MusicBrainz-Tagging“

Das Endergebnis ist also, dass ich beim Klicken auf die intelligente Suche (bei mir in der Finder-Seitenleiste) nur die 5 gewünschten Ordner sehe, ohne das inhärente Ordnerlayout des Hauptordners zu zerstören, in dem sie sich befinden.

Ich hoffe, das hilft.

Willkommen auf der Seite! Vielen Dank, dass Sie sich die Zeit genommen haben, Ihre Lösung ausführlich zu beschreiben. Wenn Sie der Meinung sind, dass ein Screenshot hilfreich wäre, laden Sie ihn bitte auf eine öffentliche Freigabeseite (z. B. Dropbox) hoch und fügen Sie einen Link zur Antwort oder in den Kommentaren hinzu. Jemand mit mehr Ansehen wird es dann in Ihre Antwort einbetten.

Derzeit glaube ich nicht, dass dies getan werden kann. Es scheint einige Leute zu geben, die dies versuchen, die Google findet, und niemand hat eine wirkliche Antwort (außer dem Datenschutzausschluss) :(

Wenn Sie im Finder nach Dateien suchen, können Sie diese ausschließen, indem Sie ein Minus vor die Kriterien setzen. Wenn ich zB nach allen Dateien suchen möchte, die keine PDF-Dateien sind, kann ich "Art is -pdf" schreiben. Das scheint bei mir zu funktionieren.

Ich bin mir ziemlich sicher, dass ich einen anderen Weg gefunden habe, dies zu tun.

Verwenden Sie beim Konfigurieren des intelligenten Ordners ein Rohabfrage-Suchattribut. Standardmäßig befindet sich dies nicht im Dropdown-Menü für Suchattribute, Sie müssen es also finden, indem Sie unten im Dropdown-Menü auf Andere klicken.

Geben Sie in das Eingabefeld neben Raw Query Folgendes ein:

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

wobei der Text in Anführungszeichen der Pfadname des auszuschließenden Ordners ist, der über Get Info gefunden werden kann.

Dies funktioniert bei mir unter OSX 10.9.5 nicht
Ich hatte wirklich gehofft, dass dies funktionieren würde, aber keine Freude. Dokumente sagen "[...] kann aber nicht in einer Abfrage oder zum Sortieren von Suchergebnissen verwendet werden." ( developer.apple.com/library/mac/documentation/CoreServices/… ) aus welchen Gründen auch immer, wir werden es nie erfahren

Basierend auf der Antwort von @Lri habe ich einen Automator-Workflow mit dem Apple-Skript unten geschrieben. Nicht sehr subtil und noch viel zu entfalten (z. B. relative Pfade zum Suchordner), aber als Grundkonzept funktioniert es.

set savedSearch to path/to/.savedSearch
set exPath to (POSIX path of ((choose folder with prompt "Directory to exclude") as alias)) as text
set userPath to (POSIX path of (path to home folder as alias)) as text
set xmlExclude to "-" & (characters 1 thru -2 of findAndReplaceInText(exPath, userPath, ""))
set cmd to "/usr/bin/plutil -insert SearchCriteria.FXScopeArrayOfPaths.1 -string " & quoted form of xmlExclude & " " & quoted form of savedSearch

do shell script cmd

on findAndReplaceInText(theText, theSearchString, theReplacementString)
    set AppleScript's text item delimiters to theSearchString
    set theTextItems to every text item of theText
    set AppleScript's text item delimiters to theReplacementString
    set theText to theTextItems as string
    set AppleScript's text item delimiters to ""
    return theText
end findAndReplaceInText

on split(theString, theDelimiter)
    set oldDelimiters to AppleScript's text item delimiters
    set AppleScript's text item delimiters to theDelimiter
    set theArray to every text item of theString
    set AppleScript's text item delimiters to oldDelimiters
    return theArray
end split

Ich litt zu sehr unter dem gleichen Problem und fand einen Weg, dies zu tun.

Gehen Sie zu „Präferenzsystem“ > „Spotlight“ > „Auswählen“ und wählen Sie dann die Registerkarte „Datenschutz“. Sie können bestimmte Orte hinzufügen, die in der Spotlight-Suche ausgeschlossen werden sollen.

Ich habe es versucht, es funktioniert.

Hast du diesen Teil verpasst? „Nur um das klarzustellen, ich weiß, dass Sie Ordner zu einer „Datenschutz“-Liste in den Spotlight-Einstellungen hinzufügen können, aber ich möchte diesen Ordner nicht zu dieser Liste hinzufügen – weil ich ihn nicht für alle Zukunft ausschließen möchte Suchen, nur diese bestimmte gespeicherte Suche.'