ImageMagick批量将子目录中的所有PNG转换为JPEG

Sky*_*ish 4 image imagemagick batch-file

我有一个包含多个子文件夹的文件夹,其中包含要从PNG转换为JPEG的图像。

我试过了:

cd d:\images

mogrify -format jpg \*\*.png
Run Code Online (Sandbox Code Playgroud)

我在两个方向都尝试了斜杠(我正在使用Windows 7)。

但是我只是invalid argument出错了。

我该怎么办?

如果可能的话,我真的最看重简单的示例答案,而不是指向50页的ImageMagick文档的链接(我是新手)。

Mon*_*aft 7

你总是可以执行一个for-loop:

cd D:\images
for /r /d %%a in (*) do mogrify -format jpg "%%~a\*.png"
Run Code Online (Sandbox Code Playgroud)

它将为每个子文件夹运行命令,例如:

mogrify -format jpg "D:\images\name of subfolder\*.png"
Run Code Online (Sandbox Code Playgroud)

这似乎满足您的要求。

要在命令提示符中使用此代码,请替换%%a%a

编辑

要按原样使用此代码,您需要将其放入批处理文件中。一个非常简单的程序是:

  1. 打开记事本或任何其他文本编辑器
  2. 将代码复制并粘贴到其中
  3. 另存为并命名时将其称为“something.bat”
  4. 在单击保存之前,请确保All Files (*.*)在名称下方的下拉菜单中将文件类型设置为。
  5. 每当您想执行操作时,只需找到“something.bat”或您命名的任何内容,然后双击运行即可。

这样您就不必每次要执行操作时都打开 cmd。


小智 5

尝试在cmd提示符下使用以下命令:

迁移-format jpg * .png

我浪费了数小时尝试在批处理文件中使用ImageMagick convert命令,但无法正常工作