调整图像大小的批处理脚本
A Batch Script To Resize Images
我正在寻找有关编写批处理脚本来调整一堆 .jpg 图像大小的帮助。
我对批处理脚本没有太多经验。但是这个任务将在 windows 机器上执行,所以我认为批处理脚本可能是一个不错的选择。
我总是有兴趣听到替代的想法和方法,或者了解我没有想到的元素。
下面我列出了脚本的基本 steps/needs:
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.
如果您想专门在命令行上执行此操作,也许您可以将其自动化,Batch 中没有专门用于图像处理的命令。您可以用 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"
一旦安装 ImageMagick for Windows, you can use 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/
) .
对于 Linux/Ubuntu,请参阅:How to easily resize images via command-line?
您可以查看 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。
我正在寻找有关编写批处理脚本来调整一堆 .jpg 图像大小的帮助。
我对批处理脚本没有太多经验。但是这个任务将在 windows 机器上执行,所以我认为批处理脚本可能是一个不错的选择。
我总是有兴趣听到替代的想法和方法,或者了解我没有想到的元素。
下面我列出了脚本的基本 steps/needs:
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.
如果您想专门在命令行上执行此操作,也许您可以将其自动化,Batch 中没有专门用于图像处理的命令。您可以用 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"
一旦安装 ImageMagick for Windows, you can use 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/
) .
对于 Linux/Ubuntu,请参阅:How to easily resize images via command-line?
您可以查看 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。