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

批量重命名图片文件:基于文本文件中的多词名称实现重命名需求

批量重命名图片文件:基于文本文件中的多词名称实现重命名需求

嘿,刚好处理过类似的批量重命名需求,给你分不同操作系统的实用方案,确保能把文件夹里的随机命名图片(比如random.jpg)按文本文件里的多词名称依次重命名:

先明确需求前提

你的文本文件里的名称是用逗号加空格分隔的:

Achilles Reef , Island Emerald Falcon , Octopus Noelle Phoenix , Scribe Magenta Phoenix
我们需要先把这些名称拆分出来,再对应到文件夹里的图片文件(默认按文件创建/修改时间排序,确保顺序匹配)。


Windows平台:用PowerShell脚本实现

  1. 先把你的名称文本保存成names.txt(比如放在桌面)
  2. 打开PowerShell,复制下面的脚本,记得替换路径:
# 切换到存放图片的文件夹
Set-Location "C:\Users\你的用户名\Pictures\待重命名图片"

# 读取名称文件,拆分并去除多余空格
$names = (Get-Content "C:\Users\你的用户名\Desktop\names.txt").Split(",") | ForEach-Object { $_.Trim() }

# 获取所有JPG图片,按创建时间排序(保证顺序对应)
$images = Get-ChildItem -Filter *.jpg | Sort-Object CreationTime

# 先检查名称和图片数量是否匹配,避免出错
if ($names.Count -ne $images.Count) {
    Write-Error "警告:名称数量和图片数量不匹配!请检查后再执行"
    exit
}

# 循环执行重命名
for ($i=0; $i -lt $names.Count; $i++) {
    Rename-Item -Path $images[$i].FullName -NewName "$($names[$i]).jpg"
}

小提示:如果你的names.txt已经是每行一个名称,可以把拆分那行改成$names = Get-Content "C:\路径\names.txt",更简单。


Linux/macOS平台:用Bash脚本实现

  1. 同样把名称文本保存成names.txt
  2. 打开终端,复制下面的脚本,替换路径:
# 切换到图片文件夹
cd /Users/你的用户名/Pictures/待重命名图片

# 读取名称文件,按逗号加空格拆分到数组
IFS=', ' read -r -a names < /Users/你的用户名/Desktop/names.txt

# 获取所有JPG图片,按修改时间排序
images=(*.jpg)

# 检查数量匹配
if [ ${#names[@]} -ne ${#images[@]} ]; then
    echo "警告:名称数量和图片数量不匹配!请检查"
    exit 1
fi

# 循环重命名
for i in "${!names[@]}"; do
    mv "${images[$i]}" "${names[$i]}.jpg"
done

小提示:如果要按文件名称排序,把images=(*.jpg)改成images=($(ls *.jpg))即可;如果担心覆盖文件,可以把mv改成mv -n(遇到重名就跳过)。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.20 09:24:34