使用批处理文件递归目录调整图像大小



我正在尝试在Windows机器上调整一堆图像的大小,安装了imagemagick,并且还安装了Windows的git。

图像需要调整为其当前大小的 50%。

在根目录中,有可能包含图像的目录和其他包含图像的目录。我需要调整所有图像的大小。在我的特定情况下,我总共有 250 个文件夹(嵌套在不同的级别),总共有 4110 张图像。

示例根文件夹

RootFolder
Folder A
ImageA.png
SubFolder A
ImageB.png
ImageC.png
Folder B
Subfolder B
ImageC.png

我正在尝试这种方式,但如果无法获得正确的路径。

for /r /d %%a in (*) 
do 
find . -name "*.png" -print0 | xargs -0 mogrify -resize 50%

错误信息

find . -name "Default*.png" -print0   | xargs -0 mogrify -resize 50
Access denied - .
File not found - -NAME
File not found - -PRINT0

批处理文件中的这个命令行将当前目录中的所有PNG图像以及除隐藏目录和文件以外的所有子目录的大小调整为宽度和高度的50%,并使用IrfanView覆盖输入文件怎么样?

@for /R %%I in (*.png) do @"%ProgramFiles(x86)%IrfanViewi_view32.exe" "%%I" /resize=(50p,50p) /convert="%%I"

直接从命令提示符窗口中执行的同一命令行,无需使用批处理文件:

for /R %I in (*.png) do @"%ProgramFiles(x86)%IrfanViewi_view32.exe" "%I" /resize=(50p,50p) /convert="%I"

打开命令提示符窗口,运行for /?并阅读输出帮助。

对于IrfanView(私人使用的免费软件)的选项,请阅读已安装IrfanView的程序文件文件夹中的文本文件i_options.txt

我没有安装ImageMagick,你也没有发布ImageMagick命令行来调整PNG图像的大小,这就是我使用IrfanView发布命令行解决方案的原因。

还有一点说明:此任务不需要批处理文件。打开IrfanView,单击菜单项"批量转换/重命名"上的文件,然后使用此对话框单击几下即可选择目录树中的所有*.png图像文件,设置调整大小和PNG优化的选项并执行批量转换

最新更新