如何将给定文件夹中的所有文件(不同格式)转换为不同的文件类型

Posted

技术标签:

【中文标题】如何将给定文件夹中的所有文件(不同格式)转换为不同的文件类型【英文标题】:How to convert all files (in different formats) in given folder to different file type 【发布时间】:2013-02-25 06:47:15 【问题描述】:

我有一个包含许多不同类型(png、jpg、jpeg、bmp、pdf)图像的文件夹,我想使用 imagemagick 将它们全部转换为 png(例如)。

是否有一个命令可以执行此操作?如果没有,我应该怎么做?

谢谢。

【问题讨论】:

或者如果你使用 python 看看这个:***.com/questions/2900035/… @MartijnvanWezel 您链接的帖子没有帮助。它详细说明了如何重命名文件,而不是如何完全重新格式化它。 @speedstyle oeww 讨厌,回到那些我真的不知道的日子......我会让我的指挥站起来,所以其他人会从错误中吸取教训。 【参考方案1】:

试试mogrify 命令:

mogrify -format png *.*

但要小心。如果没有 -format 选项,mogrify 会覆盖原始图像。请务必阅读documentation。

【讨论】:

谢谢。我收到以下错误消息:C:\Users\Tal\s>mogrify -format png . mogrify.exe: 无法打开模块文件 C:\Program Files (x86)\ImageMagick-6.8. 3-Q16\modules\coders\IM_MOD_RL_INI_.dll': No such file or directory @ warning/mo dule.c/GetMagickModulePath/683. mogrify.exe: no decode delegate for this image format desktop.ini' @error/cons titute。 c/ReadImage/550。 (这很容易解决吗?) 那是因为mogrify 试图转换不是图像文件的文件desktop.ini。您应该只将图像文件传递给mogrify。删除desktop.ini 或将*.* 更改为仅与您目录中的图像文件匹配的通配符。您还可以针对每种文件格式多次运行该命令:mogrify -format png *.jpgmogrify -format png *.bmp 等。 我想将不同的图像文件类型合并到单个*.pdf文件中。如何调整您的代码以使其正常工作? 我想我可以恢复使用其他工具,例如 pdftk(例如,通过使用 pdftk *.pdf cat output combined.pdf),但我宁愿使用单线来完成整个工作...... 如果mogrify-format 选项一起使用,则不会替换文件,但会使用新前缀保存新文件。【参考方案2】:

虽然mogrify 似乎可以完成这项工作,但我想向您展示如何使用来自 ImageMagick 的 convert 的多个命令来完成这项工作。

我认为多个命令更好,因为文件类型的数量应该很少,您可以根据需要更好地调整它:

这个命令:

for file in *.xbm; do convert $file "`basename $file .xbm`.png"; done

将所有.xbm 文件转换为.png,同时不接触xbm 文件。

然后你可以移动所有“转换”的文件:

mkdir converted
for file in *.xbm; do mv $file converted/; done

【讨论】:

如果文件名包含空格,则当前命令不起作用。解决这个问题的一种方法是for file in *.xbm; do convert "$file" "`basename \"$file\" .xbm`.png"; done,但我觉得 bash 提供了一个更干净的解决方案。【参考方案3】:

您可以使用 ImageMagick 包中的convert 命令,例如

find . -maxdepth 1 \( -iname \*.png -o -iname \*.jpg -o -iname \*.jpeg -o -iname \*.bmp -o -iname \*.pdf \) -exec convert -verbose "" "DEST_DIR/.png" \;

或者,如果您将所有文件都放在同一个目录中,请尝试以下更简单的方法:

convert '*.*' converted_%04d.png

类似:How can I scale all images in a folder to the same width?

【讨论】:

以上是关于如何将给定文件夹中的所有文件(不同格式)转换为不同的文件类型的主要内容,如果未能解决你的问题,请参考以下文章

如何将Excel文件转换成db文件,如下

如何将给定的 Excel 文件转换为 Python 中的字典?

如何将调查熊猫数据框转换为可用于 Python 中的 BI 工具的不同格式?

如何利用OpenMesh实现不同格式的3D文件间的转换

如何使用python将不同格式的日期转换为一种格式[重复]

如何将WORD文件转换为带有不同标题的.txt文件?