用 Shell 循环给文件批量加序号重命名
一行 for 循环把一批文件改成 photo-001、photo-002 的顺序编号,无需第三方工具。
粘贴这条带 mv 和 printf %03d 的 for 循环,即可把匹配的文件按顺序编号。
01命令
命令
$ cd ~/Desktop/Photos && i=1; for f in *.jpg; do mv "$f" "photo-$(printf '%03d' $i).jpg"; i=$((i+1)); done02作用说明
通配符 *.jpg 按字母顺序展开,顺序重要时先确认文件名排序。%03d 表示三位数字,可改成 %02d 或 %04d;photo- 前缀可自由修改。把 mv 换成 echo mv 先运行一遍,可以预览新文件名而不真正改名。
03风险
!注意: 目标名若已存在会被直接覆盖;执行前先检查文件夹里是否已有 photo-001 之类的文件。
04撤销
✓无需撤销——该命令不会改变持久状态。
05来源
- mv – Move or rename files依据: mv renames files in place; quoting "$f" keeps names with spaces safe.
- Rename files, folders, and disks on Mac依据: Finder can rename batches, but only with a text pattern — a shell loop gives ordered sequence numbers.
最后验证: 2026-09-18 · 分类: 文件与文件夹