You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OS Sequoia 15.1下用zsh脚本设置/修改文件颜色标签的方法

macOS Sequoia 15.1下用脚本设置/修改文件颜色标签的方法

一、修复osascript的报错问题

你之前的命令存在语法问题,touch和osascript是两个独立命令,需要分开执行:

touch "/Users/xxxxxx/test_file.txt"
osascript -e 'tell application "Finder" to set label index of POSIX file "/Users/xxxxxx/test_file.txt" to 2'

即使命令正确,OS Sequoia的隐私权限管控也可能导致报错,解决步骤:

  • 打开「系统设置」→「隐私与安全性」→「完全磁盘访问权限」
  • 找到你使用的终端(比如Terminal或iTerm2),勾选允许权限
  • 重启终端后重试

如果仍有问题,改用System Events操作,其权限要求更宽松:

osascript -e 'tell application "System Events" to set label index of file POSIX file "/Users/xxxxxx/test_file.txt" to 2'

标签索引对应颜色:

  • 0: 无标签
  • 1: 灰色
  • 2: 橙色
  • 3: 绿色
  • 4: 蓝色
  • 5: 紫色
  • 6: 红色
  • 7: 黄色

要修改标签(比如将绿色改为红色),直接替换索引值即可:

osascript -e 'tell application "System Events" to set label index of file POSIX file "/Users/xxxxxx/test_file.txt" to 6'

二、无需osascript的替代方法

1. 用xattr直接操作扩展属性

macOS的颜色标签存储在文件的扩展属性com.apple.metadata:_kMDItemUserTags中,可直接用xattr读写:

  • 设置红色标签:
xattr -w com.apple.metadata:_kMDItemUserTags '("<string>Red</string>")' "/Users/xxxxxx/test_file.txt"
  • 替换为绿色标签:
xattr -w com.apple.metadata:_kMDItemUserTags '("<string>Green</string>")' "/Users/xxxxxx/test_file.txt"

多个标签可写成("<string>Red</string>", "<string>Green</string>")格式。

2. 用第三方工具tag(需Homebrew安装)

先安装工具:

brew install tag

然后执行操作:

  • 设置红色标签:
tag -a red "/Users/xxxxxx/test_file.txt"
  • 将绿色标签改为红色(先移除绿色,再添加红色):
tag -r green -a red "/Users/xxxxxx/test_file.txt"
  • 查看文件当前标签:
tag -l "/Users/xxxxxx/test_file.txt"

三、解决Hazel/Keyboard Maestro无法设置标签的问题

同样是权限原因,打开「系统设置」→「隐私与安全性」→「完全磁盘访问权限」,给Hazel和Keyboard Maestro勾选权限,重启应用后即可正常使用。

内容的提问来源于stack exchange,提问作者Ken

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 14:17:18