Como adicionar programaticamente uma pasta ao Spotlight “não indexar”?

17

Existe alguma maneira de adicionar programaticamente uma pasta à guia "Privacidade" do Spotlight? Através do Terminal ou Applescript?

Freqüentemente, quero clicar em um item no Spotlight para obter resultados no Finder e deixar a pasta desse item não mais ser indexada.

Descobri que se você

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

você pode ver uma matriz com todos os itens excluídos.

Mas se você tentar

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

NÃO é adicionado à guia Privacidade no Painel de preferências do Spotlight, nem é des-indexado.

Dan
fonte

Respostas:

16

De acordo com uma resposta aqui , uma pasta pode ser excluída da indexação Spotlight (obtendo o mesmo efeito de adicioná-la à guia Privacidade, embora a pasta não seja realmente listada lá) por

  • adicionando .noindexao final do nome da pasta ou
  • criando um arquivo vazio .metadata_never_indexdentro da pasta (por exemplo, com touch folder/.metadata_never_index)

Você precisará reiniciar o Finder após adicionar .metadata_never_index, killall Finderno Terminal ou sair do menu Apple e depois efetuar login novamente.

Ashley
fonte
2

Você precisa parar e iniciar o launchdserviço chamado com.apple.metadata.mds. Então depois:

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

Faz:

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

Primeiro, você precisa alterar as configurações de permissão para adicionar algo à guia de privacidade do Spotlight sudo chown -R $USER:$GROUP /.Spotlight-V100/ sudo chmod -R 777 /.Spotlight-V100/

e depois

sudo defaults write /.Spotlight-V100/Store-V1/Exclusions Exclusions -array-add Deveria trabalhar.

E não se esqueça de voltar depois.

bluewoodtree
fonte
11
Quando eu fiz -array-adda pasta foi adicionada ao plist; simplesmente não teve nenhum efeito. Em outras palavras, ele apareceu defaults read, mas NÃO apareceu no Painel Pref. Você acha que esse mod de permissão faria diferença?
Dan
Não tenho tanta certeza, mas os padrões são -rwx -------?
precisa
Desculpe por ter entendido errado, pensei que não seria adicionado. Não tenho tanta certeza, mas os padrões são -rwx -------? Nesse caso, você pode estar certo e não deve fazer diferença se você o tiver alterado -rwxrwxrwx com o chmod 777. Mas vale a pena tentar !?
precisa
Acredito que o Store-V1 seja usado apenas por versões mais antigas do Mac OS X ... está vazio nos meus sistemas com o 10.9 Mavericks e posterior. Você pode tentar modificar o comando para usar o Store-V2.
Jim Grisham
-3

Você também pode simplesmente acessar o painel de preferências do sistema para o Spotlight. Lá você encontrará uma guia de privacidade. Basta adicionar as pastas e arquivos que você não deseja exibir no índice. É isso aí. Eles já facilitaram, assim você não precisa usar a linha de comando.

E se ele for adicionado à guia de privacidade, você poderá ver o que tudo ocultou do índice, caso queira indexá-lo mais tarde.

masterninja01
fonte
11
A questão era sobre como fazer isso programaticamente. Obviamente, isso pode ser feito via GUI.
21413 Dan
11
@ Ze'ev: Um ponto válido ... mas da próxima vez, já que fazer isso de forma programática é tão central à questão, você provavelmente deve incluir "programaticamente" no título.
Larsh
@ Ze'ev: os detalhes da sua pergunta discordam do seu título. Você precisa fazer o seu título claro e preciso para a pergunta
SMCI