如何从文件夹及其子文件夹中的所有文件中删除Finder标签?


9

如何从给定文件夹及其子文件夹中的所有文件中删除Finder标签?


我希望我有一个答案,我也很好奇。如果您方便使用Shell,那么mdfind命令可能最终将成为您解决方案的一部分。祝好运。
查理·威尔逊

Answers:


7

您可以使用Homebrew的标签:

brew install tag
tag -r /path/*

您可以将其与find命令结合使用以查找特定的文件/文件夹+递归。

find . -exec tag -r {} \;  -print

如何使用目录中的最后一行代码?我不想搞砸并从系统中的每个文件夹中删除标签:find . -exec tag -r /path/ {} \; -print。此外,我可以仅CD到目录并执行该命令吗?
马特·斯威夫特

@Matt find命令包含两个组件:路径/过滤器和操作。find .将使用您已cd到的当前目录,或者您可以在其中使用find /path/to/folder并指定路径。没有过滤器,因此给定路径下的每个文件和文件夹都将匹配。-exec …;将执行命令,并替换{}为每个匹配的路径。-print还打印匹配的路径。您可以通过删除“ exec”并仅使用find . -print(等效于find .)来“空运行”命令,这将打印出匹配的文件列表,而无需对其执行任何其他操作。
grg

4

您也可以使用xattr

xattr -dr com.apple.metadata:_kMDItemUserTags ~/folder
xattr -dr com.apple.FinderInfo ~/folder

如果不删除com.apple.FinderInfo扩展属性,则Finder会继续显示带有颜色的标签的颜色标签。如果您不想保留任何扩展属性,则可以运行xattr -cr ~/folder

您可以使用find -xattrnamemdfind查找带有标签的文件:

find ~/folder -xattrname com.apple.metadata:_kMDItemUserTags
mdfind -onlyin ~/folder kMDItemUserTags=\*
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.