Jak programowo dodać folder do Spotlight „nie indeksuj”?

17

Czy jest jakiś sposób programowo dodać folder do zakładki „Prywatność” Spotlight? Albo przez terminal, albo w Apple Apscript?

Często chcę kliknąć element w Spotlight w Finderze, a folder tego elementu nie będzie już indeksowany.

Znalazłem to, jeśli ty

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

możesz zobaczyć tablicę z wykluczonymi wszystkimi elementami.

Ale jeśli spróbujesz

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

NIE jest dodawany do karty Prywatność w panelu preferencji Spotlight, ani nie jest usuwany z indeksu.

Dan
źródło

Odpowiedzi:

17

Zgodnie z odpowiedzią tutaj folder może zostać wykluczony z indeksowania Spotlight (osiągając taki sam efekt jak dodanie go do zakładki Prywatność, chociaż folder nie będzie tam na liście)

  • dodanie .noindexna końcu nazwy folderu lub
  • tworzenie pustego pliku .metadata_never_indexw folderze (np. z touch folder/.metadata_never_index)

Po dodaniu musisz ponownie uruchomić Findera .metadata_never_index, albo killall Finderz poziomu terminala, albo wylogować się z menu Apple, a następnie zalogować się ponownie. Ta metoda nie działa w Mojave i nowszych.

Ashley
źródło
@ankii Dodałeś „Ta metoda nie działa w Mojave i późniejszych”. Czy dotyczy to całej odpowiedzi, czy tylko ostatniego akapitu?
Ashley,
Tylko metoda .meta_never_index. Zobacz trochę dyskusji tutaj: apple.stackexchange.com/questions/375396/… Wątpię w High Sierra, ale Mojave na pewno nie wie o tym samym. Jeśli chcesz go edytować, umieść spację, zanim będziesz potrzebował ... a to naprawi dwuznaczność metody, której dotyczy.
ankii
Dzięki. Mam nadzieję, że te komentarze dokumentują to wystarczająco dobrze.
Ashley,
2

Musisz zatrzymać się i uruchomić launchdusługę o nazwie com.apple.metadata.mds. Więc później:

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

robić:

sudo launchctl stop com.apple.metadata.mds && sudo launchctl start com.apple.metadata.mds
casr
źródło
0

Najpierw musisz zmienić ustawienia uprawnień, aby dodać coś do karty prywatności w centrum uwagi sudo chown -R $USER:$GROUP /.Spotlight-V100/ sudo chmod -R 777 /.Spotlight-V100/

i wtedy

sudo defaults write /.Spotlight-V100/Store-V1/Exclusions Exclusions -array-add powinno działać.

I nie zapomnij ustawić go później.

bluewoodtree
źródło
1
Kiedy to zrobiłem, -array-addfolder został dodany do listy; to po prostu nie miało żadnego efektu. Innymi słowy, pokazał się z defaults read, ale NIE pojawił się w panelu Pref. Czy uważasz, że ten modyfikator uprawnień miałby znaczenie?
Dan
Nie jestem tego pewien, ale wartości domyślne to -rwx -------?
bluewoodtree
Przepraszam, że źle zrozumiałem, myślałem, że w ogóle się nie doda. Nie jestem tego pewien, ale domyślnie są to -rwx -------? W takim przypadku możesz mieć rację i nie powinno to mieć znaczenia, jeśli zmienisz -rwxrwxrwx z chmod 777. Ale warto spróbować !?
bluewoodtree
Uważam, że Store-V1 jest używany tylko przez starsze wersje Mac OS X ... jest pusty w moich systemach z wersją 10.9 Mavericks i nowszymi. Zamiast tego możesz spróbować zmodyfikować polecenie, aby używało Store-V2.
Jim Grisham,
-3

Możesz także po prostu przejść do okienka ustawień systemowych Spotlight. Tam znajdziesz zakładkę prywatności. Po prostu dodaj foldery i pliki, których nie chcesz pokazywać w indeksie. Otóż ​​to. Ułatwili już to, więc nie musisz używać wiersza poleceń.

A jeśli zostanie dodany do karty prywatności, możesz zobaczyć wszystko, co ukryłeś w indeksie na wypadek, gdybyś chciał go później zindeksować.

masterninja01
źródło
1
Pytanie dotyczyło tego, jak to zrobić programowo. Oczywiście można to zrobić za pomocą GUI.
Dan
1
@ Ze'ev: Ważny punkt ... ale następnym razem, ponieważ programowe wykonanie jest tak kluczowe dla pytania, prawdopodobnie powinieneś dołączyć „programowo” do tytułu.
LarsH
@ Ze'ev: szczegóły twojego pytania nie zgadzają się z twoim tytułem. Musisz
uściślić