使用剪贴板快速重命名文件的 Bash 脚本(macOS)
这段 Bash 脚本可以帮你快速完成:它会将选中的文件重命名为 剪贴板中的内容,并保留原扩展名。
🧠 脚本功能介绍
✅ 功能说明
选中文件 → 复制一段文字 → 快捷操作 → 文件被重命名为剪贴板内容,保留扩展名
- 如果目标文件名已存在,会自动覆盖(不会弹出确认窗口)
🛠 配置步骤总结

1. 创建 Automator 快捷操作
- 打开 Automator.app
- 新建文稿 → 选择 “快速操作(Quick Action)”
2. 设置顶部选项:
- Workflow receives current:
files or folders
- in:
Finder
- ✅ 非常重要!
3. 脚本源码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| clipboard=$(pbpaste)
max_length=100
if [ ${#clipboard} -gt $max_length ]; then osascript -e "display dialog \"剪贴板内容过长(${#clipboard} 字符)!请缩短后重试。\" buttons {\"好\"} with icon caution" exit 1 fi
safe_clipboard=$(echo "$clipboard" | sed 's#[\\/:"*?<>|]#_#g' | xargs)
add_timestamp=false timestamp=$(date +"%Y%m%d_%H%M%S")
for f in "$@"; do dir=$(dirname "$f") filename=$(basename "$f") ext="${filename##*.}" name="${filename%.*}"
newbase="$safe_clipboard" if $add_timestamp; then newbase="${newbase}_${timestamp}" fi
newname="$newbase.$ext" i=1
while [ -e "$dir/$newname" ]; do newname="${newbase}_$i.$ext" ((i++)) done
echo "➡️ $filename → $newname" mv "$f" "$dir/$newname" done
|
🎹 设置快捷键
- 保存为:
Rename from Clipboard
- 打开:系统设置 → 键盘 → 键盘快捷键 → 快捷操作
- 找到
Rename from Clipboard
- 分配快捷键,如:
⌃⌥⌘R
✅ 使用方式
- 在 Finder 中选中一个文件
- 复制一段文字到剪贴板(如“日报_0603”)
- 快捷操作运行后,该文件会被重命名为“日报_0603.原扩展名”