用于调整图像大小的批处理脚本

时间:2016-11-07 02:35:06

标签: windows shell batch-file jpeg image-resizing

我正在寻找一些帮助来编写一个批处理脚本来调整一堆.jpg图像的大小。

我对批处理脚本没有多少经验。但是这项任务将在Windows机器上进行。所以我认为批处理脚本可能是一个很好的方法。

我总是对听取其他想法感兴趣接近或意识到我没有想到的元素。

下面我列出了脚本的基本步骤/需求:

1) The images are located in a folder & are all(or should be) 500 x
500.

2) I need copy & past the images to a new folder, where they will be
resized to 250 x 250.

3) I then need to repeat step 2 but this time resize to 125 x 125.

4 个答案:

答案 0 :(得分:12)

安装ImageMagick for Windows后,您可以使用magick command-line tool,例如

magick.exe mogrify -resize 250x250 -path 250x250/ *.png *.jpg
magick.exe mogrify -resize 125x125 -path 125x125/ *.png *.jpg

注意:确保您的magick.exe命令位于PATH系统变量中,并且您指向现有命令或创建目标文件夹(例如,在上述情况下为mkdir 250x250/ 125x125/)。< / p>

对于Linux / Ubuntu,请参阅:How to easily resize images via command-line?

答案 1 :(得分:9)

答案 2 :(得分:7)

你可以查看scale.bat,它可以调整图像大小而无需安装其他软件 - 它只使用windows内置功能:

@echo off
set "source_folder=c:\images"
set "result_folder_1=c:\res1"
set "result_folder_2=c:\res2"

for %%a in ("%source_folder%\*jpg") do (
   call scale.bat -source "%%~fa" -target "%result_folder_1%\%%~nxa" -max-height 250 -max-width 250 -keep-ratio no -force yes
)

for %%a in ("%source_folder%\*jpg") do (
   call scale.bat -source "%%~fa" -target "%result_folder_2%\%%~nxa" -max-height 125 -max-width 125 -keep-ratio no -force yes
)

同时检查this

答案 3 :(得分:6)

如果您想在命令行上专门执行此操作,或许可以自动执行此操作,则批处理中没有针对图像操作的特定命令。您可以使用JScript或其他语言编写代码并从命令行运行它,但是为什么在有可用于此任务的成熟工具时呢?

我建议ImageMagick

获取可移植的Windows二进制文件,然后您可以使用magick.exe轻松地执行您想要的操作。例如,要将文件夹1中的所有png图像调整大小(减半)到文件夹2:

@echo off
if not exist 2 md 2
for %%a in (1\*.png) do "path\to\magick.exe" -resize 50x50% "1\%~nxa" "2\%~nxa"