推荐四种批量重命名方法:①find+rename命令(需brew安装)递归清除指定字符串;②for循环+sed安全替换,仅处理当前目录;③zsh参数扩展极速去前后缀;④NameChanger图形化操作,支持实时预览与撤销。

当你从网络下载大量资源后,发现所有文件名都混着广告后缀、冗余编号或平台水印(比如“_1080p”“-copy”“【官网】”),手动一个一个改名既耗时又容易出错,需要一条命令就能批量剥离指定字符。
用find + rename命令一次性清除
macOS原生不带rename命令,需先安装:执行brew install rename(未装Homebrew则先运行/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)")。
进入目标文件夹后,运行以下命令删除所有文件名中的“【官网】”:
find . -type f -name "*【官网】*" -exec rename 's/【官网】//g' {} \;
该命令会递归处理当前目录及所有子目录里的普通文件;【注意:此操作不可逆,务必先备份或用-test参数预览】。若只想处理当前层,把find .换成find . -maxdepth 1。
用for循环配合sed安全替换(无需额外安装)
这方法完全依赖系统自带工具,适合不想装第三方命令的用户,且能精准控制作用范围。
第一步:打开终端,cd到目标文件夹(例如cd ~/Downloads/素材)。
第二步:执行以下三行命令(逐行复制粘贴,回车执行):
for file in *; do [[ -f "$file" ]] || continue; newname=$(echo "$file" | sed 's/广告//g'); [[ "$file" != "$newname" ]] && mv "$file" "$newname"; done
这段脚本只对当前目录下的普通文件生效,跳过文件夹和隐藏文件;【替换内容“广告”必须用英文双引号包裹,若要删中文字符如“测试版”,直接写成's/测试版//g'即可】。每轮循环都会判断新旧文件名是否一致,避免空重命名报错。
用zsh内置参数扩展极速处理(仅限.zshrc默认shell)
如果你用的是macOS默认的zsh(检查方式:终端输入echo $SHELL,返回/bin/zsh即符合),这个方法最快,不调用外部命令,毫秒级响应。
进入目标目录后,一次性删除所有文件名开头的“temp_”前缀:
for file (*); do [[ -f $file ]] || continue; mv $file ${file#temp_}; done
这里${file#temp_}是zsh参数扩展语法,表示“去掉最短匹配前缀temp_”;若要删结尾的“.bak”,改用${file%.bak};若要删中间任意位置的“v2”,就得换回sed方案——zsh原生不支持全局替换。
用NameChanger图形化操作(零命令基础)
方法一:拖入文件→点击“Replace”→在“Find”栏填入要删的字符(如“_draft”),“Replace with”留空→勾选“Apply to filename only”→点“Rename”。
方法二:如果要删的是括号、空格、点号等特殊符号,点击“Remove”标签页→选择“Characters”→在下方输入框中粘贴对应符号(注意中文括号和英文括号需分别处理)→点“Rename”。
软件会实时显示修改前后对比,误操作可立即关闭窗口退出,不会真正执行。

















