.bat 移动具有特定 exiftool 颜色配置文件输出的文件

.bat to move files with specific exiftool color profile output

我有一个简单的 .bat 脚本,可以通过 exiftool 输出 jpg 的颜色配置文件:

IF EXIST C:\Users\%Username%\Desktop\Color_Check_v1.4.5\_Upload\*.jpg for /f "delims=" %%a in ('C:\Users\%Username%\Desktop\Color_Check_v1.4.5\_Data\_exiftool\exiftool.exe -T -ProfileDescription "C:\Users\%Username%\Desktop\Color_Check_v1.4.5\_Upload\*.jpg"') do echo %%a

我正在尝试将任何颜色配置文件不等于 sRGB IEC61966-2.1 的 jpg 移动到辅助文件夹:

C:\Users\%Username%\Desktop\Color_Check_v1.4.5\Convert

我无法弄清楚如何让 cmd 提示符读取 exiftool 输出并隔离不在 sRGB IEC61966-2.1 中的文件。

感谢任何帮助。非常感谢。

Exiftool 无需脚本即可完成此操作。尝试类似的东西:
exiftool -if "$ProfileDescription ne 'sRGB IEC61966-2.1'" "-directory=C:\Users\%Username%\Desktop\Color_Check_v1.4.5\Convert" /path/to/target/dir

添加 -r 递归到子目录。将 -directory 更改为 -testname 并将 \%F 添加到目标路径的末尾,如果您想在不实际移动文件的情况下进行测试并查看结果。

通过让 exiftool 进行测试和移动,它会更快,因为 exiftool 只会 运行 一次,而不是每个文件一次。