在 macOS 上通过命令行批量更改文件夹图标
在上一篇文章中,我介绍了如何通过图形界面手动更改文件夹图标。但如果你有几十个文件夹需要设置,一个个手动操作就太痛苦了。
本文将介绍如何通过命令行工具,一键批量设置文件夹图标。
准备工作
安装 Homebrew
如果你的 Mac 还没有安装 Homebrew,打开「终端」应用,粘贴以下命令:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"按照提示完成安装即可。
安装 fileicon
fileicon 是一个专门用来设置文件/文件夹图标的命令行工具。安装非常简单:
brew install fileicon等待安装完成,输入 fileicon --help 验证是否安装成功。
基本用法
设置图标
fileicon set 文件夹路径 图片路径示例:
fileicon set ~/Documents/我的项目 ~/Pictures/logo.png这条命令会把 logo.png 设置为「我的项目」文件夹的图标。
移除图标(恢复默认)
fileicon rm 文件夹路径查看当前图标
fileicon test 文件夹路径批量设置图标
假设你有这样的文件结构:
~/我的文件夹/├── pics/ # 存放图标图片│ ├── 项目A.png│ ├── 项目B.png│ └── 项目C.png└── projects/ # 需要设置图标的文件夹 ├── 项目A/ ├── 项目B/ └── 项目C/图片名和文件夹名完全一致时,可以用以下脚本批量设置:
cd ~/我的文件夹
for folder in projects/*/; do name=$(basename "$folder") # 尝试匹配 png、jpg、jpeg 格式 for ext in png jpg jpeg; do if [ -f "pics/${name}.${ext}" ]; then fileicon set "$folder" "pics/${name}.${ext}" echo "✓ 已设置: $name" break fi donedone将以上代码保存为 set_icons.sh,然后运行:
chmod +x set_icons.sh./set_icons.sh进阶:处理非正方形图片
文件夹图标是正方形的。如果你的图片是 16:9 的横图,直接设置会导致图标变形。
安装 ImageMagick
brew install imagemagick裁剪图片为正方形
从中心裁剪:
magick 原图.png -gravity center -crop 1080x1080+0+0 +repage 正方形.png从左侧裁剪(保留左半边):
magick 原图.png -gravity West -crop 1080x1080+0+0 +repage 正方形.png批量裁剪 + 设置图标
cd ~/我的文件夹mkdir -p pics_square
# 批量裁剪for img in pics/*; do name=$(basename "$img") magick "$img" -gravity center -crop 1080x1080+0+0 +repage "pics_square/$name"done
# 批量设置for folder in projects/*/; do name=$(basename "$folder") for ext in png jpg jpeg; do if [ -f "pics_square/${name}.${ext}" ]; then fileicon set "$folder" "pics_square/${name}.${ext}" break fi donedone
# 清理临时文件rm -rf pics_square常见问题
Q: 设置后图标没变化?
打开 Finder,按 Cmd + Shift + . 显示隐藏文件,检查文件夹内是否有 Icon? 文件。如果有,说明设置成功,可能需要刷新 Finder:
killall FinderQ: 图片名和文件夹名不完全一致怎么办?
可以手动建立映射关系,逐个设置:
fileicon set "projects/文件夹A" "pics/图片1.png"fileicon set "projects/文件夹B" "pics/图片2.png"Q: 如何批量恢复默认图标?
for folder in projects/*/; do fileicon rm "$folder"done小结
| 操作 | 命令 |
|---|---|
| 设置图标 | fileicon set 文件夹 图片 |
| 移除图标 | fileicon rm 文件夹 |
| 裁剪图片 | magick 原图 -gravity center -crop 1080x1080+0+0 +repage 新图 |
通过命令行设置文件夹图标,不仅效率高,还可以写成脚本反复使用。如果你有大量文件夹需要个性化,这个方法绝对值得一试。

