首页
首页
文章目录
  1. 🧠 脚本功能介绍
  2. ✅ 功能说明
  3. 🛠 配置步骤总结
    1. 1. 创建 Automator 快捷操作
    2. 2. 设置顶部选项:
    3. 3. 脚本源码
  4. 🎹 设置快捷键
  5. ✅ 使用方式

使用剪贴板快速重命名文件的 Bash 脚本(macOS)

这段 Bash 脚本可以帮你快速完成:它会将选中的文件重命名为 剪贴板中的内容,并保留原扩展名。

🧠 脚本功能介绍

✅ 功能说明

选中文件 → 复制一段文字 → 快捷操作 → 文件被重命名为剪贴板内容,保留扩展名

  • 如果目标文件名已存在,会自动覆盖(不会弹出确认窗口)

🛠 配置步骤总结

1. 创建 Automator 快捷操作

  • 打开 Automator.app
  • 新建文稿 → 选择 “快速操作(Quick Action)”

    2. 设置顶部选项:

  • Workflow receives currentfiles or folders
  • inFinder
  • ✅ 非常重要!

    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)

# 限制剪贴板最大长度(你可以自定义,默认100字符)
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

✅ 使用方式

  1. 在 Finder 中选中一个文件
  2. 复制一段文字到剪贴板(如“日报_0603”)
  3. 快捷操作运行后,该文件会被重命名为“日报_0603.原扩展名”