我有一个1000个图像的文件夹,所有图像都有不同的名称,需要使用原始文件中的命令行创建不同大小的图像。
Images¬
HC001¬
HC001.jpg
HC002¬
HC002.jpg
HC003¬
HC003.jpg
HX001¬
HX001.jpg
我想做的是
Images¬
HC001¬
HC001.jpg
HC001-1920x1080.jpg
HC001-1024x768.jpg
HC002¬
HC002.jpg
HC002-1920x1080.jpg
HC002-1024x768.jpg
HC003¬
HC003.jpg
HC003-1920x1080.jpg
HC003-1024x768.jpg
HX001¬
HX001.jpg
HX001-1920x1080.jpg
HX001-1024x768.jpg
我的想法是先复制图像,然后尝试复制每个文件夹中的图像,然后将其重命名为大小。
然后运行一个单独的脚本来查找大小前缀并调整大小。
这是最有效的做法,还是可以使用批处理脚本一次完成。
到目前为止,我有for /d /r %%a in (*.) do echo "%%a"
显示文件夹列表,但我现在很难打开文件夹来搜索.jpg文件。
我欢迎任何帮助,因为我是批处理文件的新手。
答案 0 :(得分:0)
您可以尝试使用scale.bat
(无需安装外部二进制文件):
for /d /r "c:\Images" %%i in (*) do (
if exist "%%~fi\%%~ni.jpg" (
call scale.bat -source "%%~fi\%%~ni.jpg" -target "%%~fi\%%~ni-1920x1080.jpg" -max-width 1920 -max-height 1080 -keep-ratio no -force yes
call scale.bat -source "%%~fi\%%~ni.jpg" -target "%%~fi\%%~ni-1024x768.jpg" -max-width 1024 -max-height 768 -keep-ratio no -force yes
)
)
很可能你已经安装了powershell,所以你也可以查看this