我有一个批处理脚本,可以XMP:Subject
批量设置图片的 Exif 标签。
tags.txt
包含页面的所有链接和标签。链接和标签之间用 分隔=
。
此脚本应将 URL 和标签分开,然后=
删除其中https://www.
的所有正斜杠/
。它将找到一个具有此名称的文件夹。
tags.txt
接下来,它应该取该行的后半部分=
,并将其设置为在所有 jpg 图像上XMP:Subject
使用。exiftool
然后它应该返回并读取下一行tags.txt
,该行具有不同的链接和不同的标签。
但问题是,它先将第一行的标签tags.txt
应用到所有文件夹中的所有图像上。然后,它再将第二行的标签应用到所有文件夹中的所有图像上。
有人可以帮我解决这个问题吗?
:: bat file
:: V 4.0
@ECHO off
setlocal enabledelayedexpansion
set batpath=%~dp0
echo.>"!batpath!\log.txt"
For /F "usebackq tokens=1,2 delims==" %%a in (tags.txt) Do (
set link=%%a
set tags=%%b
for /f %%h in ('type weblinks.txt') do (
set link=%%h
set foldername=!link:https://www.=!
set foldername=!foldername:/=!
cd /d !foldername!
for /f "tokens=*" %%G in ('dir /b *.jpg') do (
set imagename=%%G
rem echo "!imagename!"
set imagenameonly=%%~nG
set extn=%%~xG
"!batpath!\exiftool" -XMP:Subject="!tags!" "!imagenameonly!!extn!"
echo. ----------------------- !foldername!\!imagenameonly!!extn! ----->>"!batpath!\log.txt"
"!batpath!\exiftool" -XMP:Subject -a "!imagenameonly!!extn!" >>"!batpath!\log.txt"
)
del *.*_original
cd /d !batpath!
)
)