You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于CSV表格批量修改文件名的技术求助

基于CSV批量重命名文件的简便方案

前提准备

确保你的CSV文件格式如下(两列,表头为OldName和NewName,每行对应一组文件名):

OldName,NewName
photo1.jpg,vacation_2024_01.jpg
"my document.pdf","project_report_final_v2.pdf"

注:如果文件名包含逗号或空格,需给文件名包裹双引号,避免解析错误。


Windows 平台:PowerShell 脚本

  1. 打开PowerShell,切换到目标文件所在目录:
cd "C:\你的文件目录路径"
  1. 执行以下脚本(替换rename_list.csv为你的CSV文件名):
Import-Csv .\rename_list.csv | ForEach-Object {
    $oldFile = $_.OldName.Trim('"')
    $newFile = $_.NewName.Trim('"')
    if (Test-Path $oldFile) {
        Rename-Item -Path $oldFile -NewName $newFile -Force
        Write-Host "已重命名:$oldFile -> $newFile"
    } else {
        Write-Warning "文件不存在:$oldFile"
    }
}
  • Trim('"')用于移除文件名两端的双引号,适配含特殊字符的文件名
  • Test-Path检查旧文件是否存在,避免无效操作报错
  • -Force允许覆盖已存在的同名新文件,不需要可直接删除该参数

Mac/Linux 平台:Bash 命令

  1. 打开终端,切换到目标文件所在目录:
cd /你的文件目录路径
  1. 执行以下命令(替换rename_list.csv为你的CSV文件名):
awk -F ',' 'NR>1 {
    old=$1; new=$2;
    gsub(/^"|"$/, "", old); gsub(/^"|"$/, "", new);
    if (system("[ -f \""old"\" ]") == 0) {
        system("mv -v \""old"\" \""new"\"");
    } else {
        print "文件不存在:" old;
    }
}' rename_list.csv
  • NR>1跳过CSV表头行
  • gsub用于移除文件名两端的双引号
  • [ -f "$old" ]检查文件是否存在,mv -v输出重命名日志便于核对

跨平台方案:Python 脚本

适合所有操作系统,代码易修改维护:

  1. 创建rename_files.py文件,写入以下内容:
import csv
import os

# 配置路径
CSV_FILE = "rename_list.csv"  # 你的CSV文件路径
TARGET_DIR = "./"  # 目标文件所在目录,当前目录用./即可

with open(CSV_FILE, mode='r', encoding='utf-8') as f:
    reader = csv.DictReader(f)
    for row in reader:
        old_name = row['OldName'].strip('"')
        new_name = row['NewName'].strip('"')
        old_path = os.path.join(TARGET_DIR, old_name)
        new_path = os.path.join(TARGET_DIR, new_name)
        
        if os.path.isfile(old_path):
            # 可选:添加判断避免覆盖已存在的新文件
            # if not os.path.exists(new_path):
            os.rename(old_path, new_path)
            print(f"已重命名:{old_name} -> {new_name}")
        else:
            print(f"警告:文件不存在 - {old_name}")
  1. 运行脚本:
python rename_files.py
  • 脚本自动处理带双引号的文件名,兼容特殊字符
  • 可取消注释if not os.path.exists(new_path):来避免覆盖已有文件

关键注意事项

  • 先备份文件:批量操作前务必复制一份文件到其他目录,防止误操作导致数据丢失
  • 确保CSV中的文件名与实际文件完全匹配(部分系统区分文件名大小写)
  • 如果文件不在当前目录,需修改对应脚本中的目录路径参数

内容的提问来源于stack exchange,提问作者Anthony

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 04:57:09