如何批量修改文件名?
批量修改文件名可以通过多种方法实现,具体取决于你的操作系统和使用场景。以下是几种常见方法:
一、Windows 系统
1. 使用资源管理器(简单批量重命名)
- 步骤:
- 选中多个文件(按住
Ctrl
或Shift
多选)。 - 右键点击第一个文件 → 选择「重命名」。
- 输入新名称(例如
文件 (1).txt
),系统会自动为后续文件添加序号。
- 选中多个文件(按住
- 特点:快速但功能有限,仅支持统一名称+序号。
2. 使用 PowerShell(灵活高级)
# 示例1:为所有 .txt 文件添加前缀
Get-ChildItem *.txt | Rename-Item -NewName { "前缀_" + $_.Name }
# 示例2:替换文件名中的字符
Get-ChildItem *.txt | Rename-Item -NewName { $_.Name -replace "旧字符","新字符" }
# 示例3:按序号重命名(如 001.jpg, 002.jpg...)
Get-ChildItem *.jpg | ForEach-Object { $count=1 } { Rename-Item $_ -NewName ("{0:D3}.jpg" -f $count++) }
3. 第三方工具推荐
- Advanced Renamer:支持正则表达式、批量替换、序号生成等。
- Bulk Rename Utility:功能强大但界面复杂。
二、macOS 系统
1. 使用 Finder 批量重命名
- 步骤:
- 选中文件 → 右键点击「重新命名」。
- 选择格式(如「名称与索引」或「替换文本」)。
- 特点:支持替换文本、添加序号,但功能较基础。
2. 使用终端(Terminal)
# 示例1:替换文件名中的空格为下划线
for file in *; do mv "$file" "${file// /_}"; done
# 示例2:为所有 .png 文件添加日期前缀
for file in *.png; do mv "$file" "$(date +%Y%m%d)_$file"; done
# 示例3:使用 sed 正则表达式替换(将 "photo123" 改为 "image123")
for file in photo*; do mv "$file" $(echo $file | sed 's/photo/image/'); done
三、Linux 系统
1. 终端命令(与 macOS 类似)
# 示例:批量修改扩展名(.jpeg → .jpg)
rename 's/\.jpeg$/.jpg/' *.jpeg
# 示例:使用 mmv 工具(需安装)
mmv "旧名称*" "新名称#1"
2. 图形化工具
- Thunar 文件管理器(支持批量重命名插件)。
- GPrename:功能全面的批量重命名工具。
四、通用跨平台工具
- Python 脚本(灵活自定义):
import os
folder = "/path/to/files"
for i, filename in enumerate(os.listdir(folder)):
new_name = f"文件_{i+1}.txt"
os.rename(os.path.join(folder, filename), os.path.join(folder, new_name))
- Excel + 批处理:
- 将文件名导出到 Excel 中编辑 → 生成重命名命令 → 保存为
.bat
或.sh
脚本执行。
- 将文件名导出到 Excel 中编辑 → 生成重命名命令 → 保存为
注意事项
- 备份文件:操作前建议复制文件到备份文件夹。
- 测试脚本:先在小部分文件上测试,确认无误后再批量执行。
- 正则表达式:复杂需求(如提取特定字符)可学习正则语法(如
.*
、\d
等)。
根据需求选择最适合你的方式!