我正在寻找一种方法来改变查找器中空文件夹的外观,以便将它们与包含内容的文件夹区分开来。
是否有人知道可以通过第三方软件、操作系统或编程来实现这一点?
答案1
这个简单的脚本会遍历所有空文件夹,例如从 开始,~/Desktop
并应用颜色7
,表示灰色。
将这些值更改为您的喜好,例如将文件夹更改为~/Documents
查看 Documents 文件夹中的所有文件。标签颜色从0
从没有任何,且7
为最高数。
#!/bin/bash
label=7
start=~/Desktop
while IFS= read -d '' -r dir; do
osascript -e "tell application \"Finder\" to set label index of alias POSIX file \"$dir\" to $label" > /dev/null
echo "Applied label to $dir"
done < <(find $start -mindepth 1 -type d -empty -print0)
要运行此脚本,请通过以下方式打开终端应用程序/实用程序/Terminal.app,然后打开一个文本编辑器,如nano
。
粘贴内容,然后输入CtrlO,然后输入文件名称进行保存。↩完成后按 。现在使用 使其可执行chmod +x recolor.sh
,然后输入其名称(如 )来运行它~/Documents/recolor.sh
。
它将打印应用标签的所有文件夹的路径,并在完成后退出。请注意,这将不是自动识别您将来可能创建的任何新的空文件夹,因此您必须再次运行此脚本。
你也可以osascript
用label()
以下函数替换对的调用这个 Stack Overflow 上的答案。
答案2
以下解决方案主要是 bash(shell)脚本,但集成了自动机使其使用起来更加方便。
打开 Automator 并选择创建新的工作流. 添加运行 Shell 脚本接收输入的动作到标准输入以及以下脚本:
find "$@" -type d -empty
如果你在 Automator 中运行该程序,所有空文件夹将显示在结果。要对其采取行动,请添加例如将 Finder 项目移至废纸篓行动或标签查找器项目如下所述采取以下行动。
通过使其成为 Automator 工作流程,您可以方便地重复执行它,甚至可以将其作为服务在选定的文件或文件夹上(文件 » 转换为… » 服务,或者先将其设为服务)。这样,如果您想清理特定文件夹及其内容,您可以轻松完成。
您可以在系统偏好设置 » 键盘 » 键盘快捷键 » 服务。