mogrify - 如何在 Windows 中递归子文件夹

Reg*_*gmi 7 imagemagick recursive image-manipulation mogrify

我认为命令选项中有一个简单的开关mogrify,告诉它也可以遍历子文件夹。我没有找到。在Linux上,“ find”命令似乎可以解决问题,那么在Windows上如何做到这一点呢?

magick mogrify -resample 72 -resize 700x700 -format png -path "C:\ImageMagick-7.0.8-Q16\dest" *.*
Run Code Online (Sandbox Code Playgroud)

有效,但我也需要它通过子文件夹递归。最简单的方法是什么?

理想情况下,我正在寻找要保留在目标中但仅包含处理后的图像的源目录结构。

Vom*_*yle 9

ImageMagick Mogrify 文件递归 - Windows

您可以使用FOR /R循环从文件所在的根目录开始迭代文件,然后按照以下示例针对每个文件相应地运行这些命令。

如果省略该-path参数,它将针对它们所在的原始文件运行。因此,对于保留原始源的原始结构的简单解决方案,请考虑简单地将源文件的原始根文件夹复制到新位置,然后重命名该文件夹。


命令示例

注意: 请务必替换C:\Source\Folder\Root为文件或文件子文件夹所在的确切文件夹,以便它将递归地对这些文件运行命令操作。

for /r "C:\Source\Folder\Root" %a in (*.*) do mogrify -resample 72 -resize 700x700 -format png "%~a"
Run Code Online (Sandbox Code Playgroud)

命令示例(带删除)

for /r "C:\Source\Folder\Root" %a in (*.*) do mogrify -resample 72 -resize 700x700 -format png "%~a" && IF NOT [%~Xa]==[.png] DEL /Q /F "%~a"
Run Code Online (Sandbox Code Playgroud)

更多资源