如何以编程方式将文件夹添加到Spotlight“不编制索引”?


17

有什么方法可以通过编程方式将文件夹添加到Spotlight的“隐私”标签中?通过终端还是Applescript?

我经常想在Finder中的Spotlight结果中单击某个项目,然后不再对该项目的文件夹建立索引。

我发现如果你

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' 

它不会被添加到Spotlight首选项面板的“隐私”选项卡中,也不会被取消索引。

Answers:


17

根据此处的答案,文件夹可以从Spotlight索引中排除(达到与将其添加到“隐私”选项卡中相同的效果,尽管该文件夹实际上未在此处列出)

  • 添加.noindex到文件夹名称的末尾,或者
  • .metadata_never_index在文件夹内创建一个空文件(例如,使用touch folder/.metadata_never_index

添加后.metadata_never_index,您需要killall Finder从终端或从Apple菜单注销后重新启动Finder ,然后重新登录。此方法在Mojave及更高版本中不起作用。


@ankii您已添加“此方法在Mojave及更高版本中不起作用”。这适用于整个答案还是仅适用于最后一段?
阿什利

只是.meta_never_index方法。请参阅此处的一些讨论:apple.stackexchange.com/questions/375396/…我对High Sierra表示怀疑,但Mojave无疑对此一无所知。如果要编辑它,请在需要之前放置一个空格,这样可以解决其适用于哪种方法的歧义。
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

首先,您必须更改权限设置才能向Sp​​otlight隐私标签添加内容 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,文件夹被添加到plist中。只是没有任何作用。换句话说,它显示为defaults read,但未显示在“首选面板”中。您认为此权限模块会有所作为吗?
2013年

我不太确定,但是默认值为-rwx -------?
bluewoodtree

抱歉,我误会了,我认为根本不会添加。我不太确定,但是默认值为-rwx -------?在这种情况下,您可能是正确的,并且如果使用chmod 777更改了-rwxrwxrwx,它应该没有任何区别。但这值得一试!
bluewoodtree

我相信Store-V1仅可用于旧版本的Mac OS X ...在我的10.9 Mavericks及更高版本的系统上,它是空的。您可以尝试修改命令以改为使用Store-V2。
吉姆·格里舍姆

-3

您也可以只在系统偏好设置面板中找到Spotlight。您会在此处找到“隐私”标签。只需添加您不想显示在索引中的文件夹和文件。而已。他们已经使它变得容易了,所以您不必使用命令行。

而且,如果将其添加到“隐私”选项卡中,您可以查看索引中隐藏的所有内容,以防日后要对其进行索引。


1
问题是关于如何以编程方式执行此操作。显然,它可以通过GUI完成。
2013年

1
@ Ze'ev:这是一个有效的观点……但是,下一次,由于以编程方式进行操作对问题至关重要,因此您可能应该在标题中包含“以编程方式”。
LarsH 2015年

@ Ze'ev:您的问题详细信息与您的标题不同。您需要使标题清楚且准确无误
smci 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.