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


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.