如何批量修改文件名?

频道:游戏资讯 日期: 浏览:14

  批量修改文件名可以通过多种方法实现,具体取决于你的操作系统和使用场景。以下是几种常见方法:

如何批量修改文件名?


一、Windows 系统

1. 使用资源管理器(简单批量重命名)

  • 步骤

    1. 选中多个文件(按住 CtrlShift 多选)。
    2. 右键点击第一个文件 → 选择「重命名」。
    3. 输入新名称(例如 文件 (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 批量重命名

  • 步骤

    1. 选中文件 → 右键点击「重新命名」。
    2. 选择格式(如「名称与索引」或「替换文本」)。

  • 特点:支持替换文本、添加序号,但功能较基础。

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:功能全面的批量重命名工具。


四、通用跨平台工具

  1. 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))


  1. Excel + 批处理

    • 将文件名导出到 Excel 中编辑 → 生成重命名命令 → 保存为 .bat.sh 脚本执行。


注意事项

  • 备份文件:操作前建议复制文件到备份文件夹。
  • 测试脚本:先在小部分文件上测试,确认无误后再批量执行。
  • 正则表达式:复杂需求(如提取特定字符)可学习正则语法(如 .*\d 等)。

  根据需求选择最适合你的方式!