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

如何依据含原文件名与新ID名的文本批量重命名文件

如何依据含原文件名与新ID名的文本批量重命名文件

嘿,这个需求其实挺常见的,我给你分享几个简单靠谱的命令行方法,不管是Linux/macOS还是Windows都能用:

方法一:Linux/macOS 用Bash脚本

假设你的映射文件名叫rename_map.txt,直接在终端里运行下面的脚本就行:

while read old_name new_name; do
    if [ -f "$old_name" ]; then
        mv "$old_name" "$new_name"
        echo "Renamed: $old_name -> $new_name"
    else
        echo "Warning: $old_name not found, skipped"
    fi
done < rename_map.txt

这个脚本会逐行读取你的映射文件,把每行拆成旧文件名和新文件名:

  • 先检查目标文件是否存在,避免对不存在的文件做无效操作
  • 存在的话就用mv命令完成重命名,同时输出提示信息告诉你操作结果
  • 找不到的文件会给出警告,不会瞎折腾

方法二:Windows 用PowerShell脚本

如果你用的是Windows系统,可以打开PowerShell,切换到文件所在目录,运行这段脚本:

Get-Content .\rename_map.txt | ForEach-Object {
    $parts = $_ -split '\s+', 2
    $oldName = $parts[0]
    $newName = $parts[1]
    if (Test-Path $oldName) {
        Rename-Item -Path $oldName -NewName $newName
        Write-Host "Renamed: $oldName -> $newName"
    } else {
        Write-Warning "$oldName not found, skipped"
    }
}

逻辑和Bash版本差不多:逐行读取映射文件,拆分文件名,检查文件存在后执行重命名,同样会给出操作反馈。

几个重要的注意事项

  • 确保映射文件里的每行格式正确:旧文件名和新文件名之间用空格或制表符分隔就行,不管多少个都能被脚本识别
  • 一定要先做测试!找几个文件放到单独的目录,写个测试用的映射文件先跑一遍,确认没问题再批量处理正式文件
  • 如果你的文件名本身包含空格,完全不用担心,上面的脚本已经做了特殊处理,只要映射文件里的文件名和实际文件完全一致就可以

备注:内容来源于stack exchange,提问作者Katherine Chau

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 13:52:35