Gibt es eine Möglichkeit, einen Ordner programmatisch zur Registerkarte "Datenschutz" von Spotlight hinzuzufügen? Entweder über Terminal oder Applescript?
Oft möchte ich auf ein Element in den Spotlight-Ergebnissen im Finder 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 NICHT zur Registerkarte „Datenschutz“ im Spotlight-Einstellungsfenster hinzugefügt und auch nicht deindexiert.
Laut einer Antwort hier kann ein Ordner auch von der Spotlight-Indizierung ausgeschlossen werden (was den gleichen Effekt erzielt wie das Hinzufügen zur Registerkarte Datenschutz, obwohl der Ordner dort nicht wirklich aufgeführt wird).
.noindex
am Ende des Ordnernamens oder.metadata_never_index
im Ordner (z. B. mit touch folder/.metadata_never_index
)Sie müssen den Finder nach dem Hinzufügen neu starten .metadata_never_index
, entweder killall Finder
über das Terminal oder sich vom Apple-Menü abmelden und dann wieder anmelden. Diese Methode funktioniert nicht in Mojave und höher.
Sie müssen den launchd
Dienst mit dem Namen 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
VolumeConfiguration.plist
ist umgezogenEs befindet sich jetzt in /System/Volumes/Data/.Spotlight-V100/VolumeConfiguration.plist
.
Sie können es einfach mit bearbeiten/uar/libexec/PlistBuddy
sudo /usr/libexec/PlistBuddy -c "Print :Exclusions" /System/Volumes/Data/.Spotlight-V100/VolumeConfiguration.plist
Die Null gibt das Element im Array oder in diesem Fall den Anfang des Arrays an
sudo /usr/libexec/PlistBuddy -c "Add :Exclusions:0 string '/path/to/folder'" /System/Volumes/Data/.Spotlight-V100/VolumeConfiguration.plist
Die Null gibt das erste Element im Array an
sudo /usr/libexec/PlistBuddy -c "Delete :Exclusions:0 string" /System/Volumes/Data/.Spotlight-V100/VolumeConfiguration.plist
Die einfachste Lösung, um die Änderung wirksam werden zu lassen, ist ein Neustart, aber Sie können auch sagen Launchd
, dass die mdworkers neu gestartet werden sollen
sudo launchctl stop com.apple.metadata.mds
sudo launchctl start com.apple.metadata.mds
Wenn Sie sich jedoch entscheiden, die Spotlight-Indizierung auf dem gesamten Volume zu deaktivieren, beispielsweise wenn es sich bei der Maschine um eine Headless-Build-Maschine handelt, können Sie einfach mdutil
.
mdutil -i off /
Error Reading File: ...
), müssen Sie Ihrem Terminalprogramm wahrscheinlich vollen Zugriff auf die Festplatte gewähren (unter System Preferences > Security & Privacy > Full Disk Access
).Zuerst müssen Sie die Berechtigungseinstellungen ändern, um etwas zum Spotlight-Datenschutz-Tab hinzuzufügensudo 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, ihn danach wieder zurückzusetzen.
-array-add
wurde der Ordner zur plist hinzugefügt; es hatte einfach keine Wirkung. Mit anderen Worten, es wurde mit defaults read
angezeigt, aber NICHT im Pref-Panel. Glaubst du, dieser Permission-Mod würde einen Unterschied machen?Sie können auch einfach zum Bereich Systemeinstellungen für Spotlight gehen. Dort finden Sie einen Datenschutz-Tab. Fügen Sie einfach die Ordner und Dateien hinzu, die nicht im Index angezeigt werden sollen. Das ist es. Sie haben es bereits so einfach gemacht, dass Sie nicht die Befehlszeile verwenden müssen.
Und wenn es zur Registerkarte Datenschutz hinzugefügt wird, können Sie sehen, was Sie alles aus dem Index ausgeblendet haben, nur für den Fall, dass Sie es später indizieren möchten.
Ashley
Anki
Ashley
Oscar López
.metadata_never_index
auf Mojave nicht funktioniert, wie können wir dann die Indizierung auf einem ganzen Volume deaktivieren? (nicht nur ein einzelnes Verzeichnis)Ashley
Oscar López
.metadata_never_index
es ausreichte, nur das im Stammverzeichnis zu erstellen, es verhält sich wie ein Ordner. Ich weiß nicht was ich jetzt machen soll :-/Ashley