Як програмно додати папку до прожектора "не індексувати"?


17

Чи є можливість програмно додати папку на вкладку "Конфіденційність" Spotlight? Або через термінал чи яблучний скрипт?

Часто мені хочеться натиснути на елемент у програмі Spotlight у Finder, і папку цього предмета більше не індексувати.

Я це виявив, якщо ти

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

ви можете бачити масив із виключеними елементами.

Але якщо спробувати

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

він НЕ додається на вкладку конфіденційності на панелі налаштувань прожектора, а також не деіндексований.

Відповіді:


17

Відповідно до відповіді тут , папку можна виключити з індексації Spotlight (досягаючи того ж ефекту, що і додавання її на вкладку Конфіденційність, хоча папка насправді там не буде вказана)

  • додавання .noindexдо кінця імені папки, або
  • створення порожнього файлу .metadata_never_indexвсередині папки (наприклад, за допомогою touch folder/.metadata_never_index)

Вам потрібно буде перезапустити Finder після додавання .metadata_never_index, або killall Finderз терміналу або виходу з системи з меню Apple , а потім знову увійти в систему . Цей метод не працює в Мохаве і пізніше.


@ankii Ви додали "Цей метод не працює в Mojave і пізніше". Це стосується всієї відповіді чи лише остаточного абзацу?
Ешлі

Просто метод .meta_never_index. Дивіться тут деякі дискусії: apple.stackexchange.com/questions/375396/… Я сумніваюся у Високій Сьєррі, але Мохаве точно не знає того самого. Якщо ви хочете відредагувати його, поставте пробіл перед тим, як вам знадобиться .., і це виправить двозначність того, до якого методу він застосовується.
ankii

Спасибі. Сподіваємось, ці коментарі це досить добре документують.
Ешлі

2

Ви повинні зупинитись і запустити launchdпослугу, яку називають com.apple.metadata.mds. Отже після:

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

робити:

sudo launchctl stop com.apple.metadata.mds && sudo launchctl start com.apple.metadata.mds

0

Спочатку потрібно змінити налаштування дозволу, щоб додати щось на вкладку конфіденційності прожектора sudo chown -R $USER:$GROUP /.Spotlight-V100/ sudo chmod -R 777 /.Spotlight-V100/

і потім

sudo defaults write /.Spotlight-V100/Store-V1/Exclusions Exclusions -array-add повинні працювати.

І не забудьте повернути його згодом.


1
Коли я це робив, -array-addпапку додавали до списку; це просто не мало ніякого ефекту. Іншими словами, воно з’явилося разом із цим defaults read, але НЕ відображалось на панелі попередніх налаштувань. Як ви думаєте, цей мод на дозвіл змінить щось?
День

Я не такий впевнений, але типовими значеннями є -rwx -------?
bluewoodtree

Вибачте, що я неправильно зрозумів, я думав, що це зовсім не додасться. Я не такий впевнений, але типовими значеннями є -rwx -------? У цьому випадку ви можете мати рацію, і це не повинно мати жодних змін, якщо ви змінили -rwxrwxrwx з chmod 777. Але варто спробувати !?
bluewoodtree

Я вважаю, що Store-V1 використовується лише у старих версіях Mac OS X ... він порожній у моїх системах з 10.9 Mavericks і пізніших версій. Ви можете спробувати змінити команду, щоб використовувати натомість Store-V2.
Джим Гришам

-3

Ви також можете просто перейти до панелі системних налаштувань для Spotlight. Там ви знайдете вкладку конфіденційності. Просто додайте папки та файли, які ви не хочете відображати в індексі. Це воно. Вони вже зробили це легко, тому вам не доведеться використовувати командний рядок.

І якщо його додано на вкладку конфіденційності, ви можете побачити, що все, що ви приховали від індексу, на випадок, якщо ви хочете проіндексувати його пізніше.


1
Питання полягало в тому, як це зробити програмно. Очевидно, що це можна зробити за допомогою GUI.
День

1
@ Ze'ev: Дійсний пункт ... але наступного разу, оскільки це робити програмно є настільки центральним у питанні, ви, ймовірно, повинні включати "програмно" в заголовок.
LarsH

@ Ze'ev: ваші детальні запитання не згодні з вашою назвою. Потрібно чітко і точно вказати свою назву до питання
smci
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.