批量给图片添加 EXIF 信息(标记、备注、作者,作者字段)
简介
用 PowerShell 5 写个一键脚本,批量给 D:\x\111 目录下的所有图片添加 EXIF 信息(标记、备注、作者,作者字段写 www.qq.com)。
PowerShell 5 原生不直接支持写 EXIF 信息,我们通常用第三方工具配合,比如 ExifTool(最强大的元数据编辑工具,免费且支持绝大多数格式),来实现批量修改。
准备工作
下载 ExifTool:https://exiftool.org
Windows 版下载的是一个可执行文件 exiftool(-k).exe,你可以重命名 exiftool.exe 放到 C:\Windows 或你脚本同目录,方便调用。
例如:我的路径是 C:\Users\Administrator\Downloads\exiftool-13.42_64
你可以试试下面命令,看能不能执行:
& "C:\Users\Administrator\Downloads\exiftool-13.42_64\exiftool.exe" -ver如果能显示版本号,说明路径没问题。
复制粘贴以下脚本代码到桌面,并保存为add_exif.ps1
脚本
# 设置 exiftool 路径,确认路径正确且文件存在
$exiftoolPath = "C:\Users\Administrator\Downloads\exiftool-13.42_64\exiftool.exe"
if (-not (Test-Path $exiftoolPath)) {
Write-Error "未找到 exiftool.exe,路径错误:$exiftoolPath"
exit 1
}
# 设置目标文件夹,确认存在
$folderPath = "D:\x\111"
if (-not (Test-Path $folderPath)) {
Write-Error "目标文件夹不存在:$folderPath"
exit 1
}
# 设置 EXIF 信息
$author = "www.qq.de"
$comment = "备注"
$tag = "qq"
# 支持的图片格式
$extensions =
foreach ($ext in $extensions) {
# 获取所有符合格式的文件,递归查找
$files = Get-ChildItem -Path $folderPath -Recurse -Filter $ext -File
foreach ($file in $files) {
# 调用 exiftool 写入 EXIF 信息
& "$exiftoolPath" `
-overwrite_original `
-Artist="$author" `
-Comment="$comment" `
-Keywords="$tag" `
"$($file.FullName)"
Write-Host "已处理:" $file.FullName
}
}
Write-Host "全部完成!"执行脚本:
cd $env:USERPROFILE\Desktop
Set-ExecutionPolicy Bypass -Scope Process -Force
.\add_exif.ps1