批量修改文件名是一个很常见的需求,尤其在处理大量文件时。下面是几种常见的方法,适用于不同操作系统(Windows、Mac、Linux):
✅ 一、Windows 系统(推荐使用命令行或第三方工具)
1. 使用命令行(PowerShell 或 CMD)
方法:
- 打开命令提示符(CMD)或 PowerShell。
- 使用
for循环遍历文件夹中的所有文件。
示例:
Get-ChildItem -Path "C:\YourFolder" -Recurse | ForEach-Object {
$filename = $_.Name
$newfilename = $filename -replace "old_pattern", "new_pattern"
$newpath = $_.DirectoryName + "\" + $newfilename
Rename-Item -Path $_.FullName -NewName $newfilename
}
说明:
-replace "old_pattern", "new_pattern":用正则表达式替换文件名中的内容。$_表示当前文件对象。-Recurse:递归处理子目录。
替换示例:
Get-ChildItem -Path "C:\YourFolder" -Recurse | ForEach-Object {
$filename = $_.Name
$newfilename = $filename -replace ".*\.txt", "file_$($_.CreationTime.Day)"
$newpath = $_.DirectoryName + "\" + $newfilename
Rename-Item -Path $_.FullName -NewName $newfilename
}
2. 使用第三方工具(推荐)
- FileZilla:支持批量重命名文件。
- Renamer:专业文件重命名工具(支持正则表达式)。
- Bulk Rename Utility:支持批量重命名、正则表达式替换。
✅ 二、Mac 系统(使用命令行)
方法:
- 打开终端。
- 使用
find和rename命令。
示例:
find /path/to/folder -type f -name "*.txt" -exec rename 's/old_pattern/new_pattern/' {} \;
说明:
find:查找文件。-name "*.txt":匹配.txt文件。-exec rename 's/old_pattern/new_pattern/' {} \;:执行重命名。
✅ 三、Linux 系统(使用命令行)
方法:
find /path/to/folder -type f -name "*.txt" -exec sh -c 'rename -n "s/old_pattern/new_pattern/" "$@"' {} \;
说明:
rename是 Linux 中的文件重命名工具。-n:仅预览不实际重命名。s/old_pattern/new_pattern/:替换文件名。
✅ 四、使用 GUI 工具(推荐)
- Total Commander:支持批量重命名,支持正则表达式。
- File Commander:批量重命名工具。
- Folder Genius:支持正则表达式替换。
✅ 五、注意事项
- 备份文件:在批量重命名前,建议先备份文件。
- 确认替换规则:避免误改文件名。
- 使用正则表达式:如果需要复杂替换(如替换多个部分、动态命名),使用正则表达式更灵活。