Mac批量重命名文件:调整十进制位数匹配项目命名规范
解决Mac批量重命名5位数字为4位的问题
针对你有4000个CAM0-00001.mp4格式的文件,需要批量改成CAM0-0001.mp4的需求,这里有几个实用的解决方案,从最简单到更灵活的都有:
方法一:Finder自带批量重命名(最快最简便)
这个方法适用于所有目标文件都是CAM0-0xxxx.mp4(即5位数字的首位是0)的情况,完全不需要额外工具:
- 选中所有需要重命名的视频文件
- 右键点击,选择「重命名XX项」(XX是选中的文件数量)
- 在弹出的重命名窗口中,选择「替换文本」模式:
- 「查找」栏输入:
CAM0-0 - 「替换为」栏输入:
CAM0-
- 「查找」栏输入:
- 点击「重命名」,所有文件会自动从
CAM0-00001.mp4变成CAM0-0001.mp4
方法二:终端Shell脚本(灵活适配复杂情况)
如果你的文件名有例外(比如存在CAM0-10000.mp4这类首位非0的5位数字文件),或者需要更精准的匹配,终端脚本是更可靠的选择:
- 打开「终端」(Launchpad → 其他 → 终端)
- 导航到你的视频文件夹,比如:
cd /Users/你的用户名/Desktop/视频存放文件夹 - 运行以下脚本:
for file in CAM0-*.mp4; do # 用正则匹配提取5位数字部分 if [[ $file =~ ^CAM0-([0-9]{5})\.mp4$ ]]; then original_num=${BASH_REMATCH[1]} # 截取数字部分的后4位(自动去掉首位的0或其他数字) new_num=${original_num:1} new_filename="CAM0-$new_num.mp4" # 执行重命名 mv "$file" "$new_filename" echo "已重命名:$file → $new_filename" fi done
这个脚本会自动遍历所有CAM0-开头的mp4文件,精准提取5位数字,只保留后4位来生成新文件名,不管首位是0还是其他数字都能正确处理。
方法三:Automator图形化工作流(适合不喜欢命令的用户)
如果你偏好图形界面操作,可以用Mac自带的Automator创建一个批量重命名工作流:
- 打开「Automator」(Launchpad → 其他 → Automator),新建一个「快速操作」
- 在左侧动作库中,找到「获取指定的Finder项目」并添加到工作流,然后把你的视频文件夹拖到这个动作的列表里
- 再添加「运行Shell脚本」动作,将脚本的Shell选项改为
/bin/bash,然后输入以下内容:for f in "$@" do # 拆分文件名和扩展名 filename=$(basename "$f") extension="${filename##*.}" name="${filename%.*}" # 匹配5位数字的文件名格式 if [[ $name =~ ^CAM0-([0-9]{5})$ ]]; then original_num=${BASH_REMATCH[1]} new_num=${original_num:1} new_name="CAM0-$new_num.$extension" # 执行重命名 mv "$f" "$(dirname "$f")/$new_name" fi done - 保存这个快速操作(比如命名为「批量修改视频编号」),之后选中文件右键就能在「快速操作」里找到它,点击即可运行。
内容的提问来源于stack exchange,提问作者Jon Aleksander Krancan




