Wie füge ich programmatisch einen Ordner zu Spotlight hinzu?

17

Gibt es eine Möglichkeit, einen Ordner programmgesteuert zur Registerkarte "Datenschutz" von Spotlight hinzuzufügen? Entweder über Terminal oder über Applescript?

Häufig möchte ich im Finder auf ein Element in Spotlight-Ergebnissen klicken und den Ordner dieses Elements nicht mehr indizieren.

Ich habe das gefunden, wenn Sie

sudo defaults read /Volumes/foo/.Spotlight-V100/VolumeConfiguration.plist Exclusions

Sie können ein Array mit allen ausgeschlossenen Elementen sehen.

Aber wenn du es versuchst

sudo defaults write  /Volumes/foo/.Spotlight-V100/VolumeConfiguration.plist Exclusions -array-add '/path/to/folder' 

Es wird weder zur Registerkarte Datenschutz im Spotlight-Einstellungsfenster hinzugefügt noch wird die Indizierung aufgehoben.

Dan
quelle

Antworten:

17

Laut einer Antwort hier kann ein Ordner von der Spotlight-Indizierung ausgeschlossen werden (dies hat den gleichen Effekt wie das Hinzufügen zur Registerkarte Datenschutz, obwohl der Ordner dort eigentlich nicht aufgeführt wird)

  • Hinzufügen .noindexam Ende des Ordnernamens oder
  • Erstellen einer leeren Datei .metadata_never_indexinnerhalb des Ordners (zB mit touch folder/.metadata_never_index)

Sie müssen Finder nach dem Hinzufügen neu starten .metadata_never_index, entweder killall Finderüber das Terminal oder über das Apple-Menü. Melden Sie sich dann erneut an. Diese Methode funktioniert in Mojave und höher nicht.

Ashley
quelle
@ankii Du hast hinzugefügt "Diese Methode funktioniert nicht in Mojave und später". Gilt das für die gesamte Antwort oder nur für den letzten Absatz?
Ashley
Nur die Methode .meta_never_index. Hier finden Sie einige Diskussionen: apple.stackexchange.com/questions/375396/… Ich bezweifle High Sierra, aber Mojave ist sich dessen sicherlich nicht bewusst . Wenn Sie es bearbeiten möchten, setzen Sie ein Leerzeichen, bevor Sie es benötigen. Dadurch wird die Mehrdeutigkeit der Methode behoben, auf die es angewendet wird.
Ankii
Vielen Dank. Hoffentlich dokumentieren diese Kommentare es gut genug.
Ashley
2

Sie müssen den launchdaufgerufenen Dienst stoppen und starten com.apple.metadata.mds. So danach:

sudo defaults write /Volumes/foo/.Spotlight-V100/VolumeConfiguration.plist Exclusions -array-add '/path/to/folder'

tun:

sudo launchctl stop com.apple.metadata.mds && sudo launchctl start com.apple.metadata.mds
casr
quelle
0

Zuerst müssen Sie die Berechtigungseinstellungen ändern, um der Registerkarte "Spotlight-Datenschutz" etwas hinzuzufügen sudo chown -R $USER:$GROUP /.Spotlight-V100/ sudo chmod -R 777 /.Spotlight-V100/

und dann

sudo defaults write /.Spotlight-V100/Store-V1/Exclusions Exclusions -array-add sollte arbeiten.

Und vergessen Sie nicht, es danach zurückzusetzen.

Bluewoodtree
quelle
1
Als ich das tat, wurde -array-addder Ordner der Liste hinzugefügt; es hatte einfach keine Wirkung. Mit anderen Worten, es wurde mit defaults readangezeigt, aber es wurde NICHT im Pref Panel angezeigt. Glaubst du, dass dieser Erlaubnis-Mod einen Unterschied machen würde?
Dan
Ich bin mir nicht so sicher, aber die Standardeinstellungen sind -rwx -------?
Bluewoodtree
Entschuldigung, ich habe es falsch verstanden, ich dachte, es würde überhaupt nicht hinzugefügt werden. Ich bin mir nicht so sicher, aber die Standardeinstellungen sind -rwx -------? In diesem Fall haben Sie vielleicht Recht und es sollte keinen Unterschied machen, ob Sie -rwxrwxrwx mit chmod 777 geändert haben. Aber es ist einen Versuch wert !?
Bluewoodtree
Ich glaube, Store-V1 wird nur von älteren Versionen von Mac OS X verwendet ... es ist auf meinen Systemen mit 10.9 Mavericks und höher leer. Sie können versuchen, den Befehl so zu ändern, dass stattdessen Store-V2 verwendet wird.
Jim Grisham
-3

Sie können auch einfach in die Systemeinstellungen für Spotlight gehen. Dort finden Sie eine Registerkarte Datenschutz. Fügen Sie einfach die Ordner und Dateien hinzu, die nicht im Index angezeigt werden sollen. Das ist es. Sie haben es bereits vereinfacht, sodass Sie die Befehlszeile nicht verwenden müssen.

Und wenn es zur Registerkarte Datenschutz hinzugefügt wird, können Sie sehen, was Sie alles aus dem Index verborgen haben, nur für den Fall, dass Sie es später indizieren möchten.

masterninja01
quelle
1
Die Frage war, wie dies programmatisch zu tun ist. Dies kann natürlich über die GUI erfolgen.
Dan
1
@ Ze'ev: Ein gültiger Punkt ... aber da es das nächste Mal so zentral für die Frage ist, programmgesteuert zu arbeiten, sollten Sie wahrscheinlich "programmgesteuert" in den Titel aufnehmen.
LarsH
@ Ze'ev: Ihre Fragendaten stimmen nicht mit Ihrem Titel überein. Sie müssen Ihren Titel klar und präzise zu der Frage machen
smci