多个文件上的 ImageMagick

use*_*619 9 shell imagemagick quoting wildcards

我已convert使用以下命令将单个文件从 BMP 转换为带有 ImageMagick 的 PNG

convert CD\ Front.bmp CD\ Front.png
Run Code Online (Sandbox Code Playgroud)

我有很多这样的文件,因此我尝试过:

for f in */*.bmp ; do convert $f ${f%bmp}png; done
Run Code Online (Sandbox Code Playgroud)

但是这个命令永远挂起。

我究竟做错了什么?

Tha*_*ath 18

您可以使用 mogrify:

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

来源:Imagemagick 网站


Zel*_*lda 13

您很可能有问题,因为您没有引用文件名:

for f in */*.bmp ; do convert "$f" "${f%bmp}png" ; done
#                             ^  ^ ^           ^
Run Code Online (Sandbox Code Playgroud)

这样做是为了文件名中的空格不会引起问题。

  • `$f` 也应该被引用 (3认同)