我在ImageMagick的文档中看到,我可以使用像magick @myfiles.txt这样的东西发送多个文件名(在我的例子中,我不能使用globbing,因为它们是随机的)来输入,但是唯一可用的示例将它们合并到一个输出中。
是否有办法为每个输入输出不同的文件?如果没有,人们将如何在Powershell中实现这一点?有点像Get-content filenames.txt | ForEach-Object {magick}
发布于 2020-09-15 21:47:03
我还没有对此进行测试,所以在尝试之前,请将临时目录中的几个文件创建一个副本。
创建一个名为RESULTS的输出目录,并调整files.txt中列出的文件的大小
mkdir RESULTS
magick mogrify -resize 64x64 -path RESULTS @files.txt对mogrify非常小心,如果您不指定-path,它会非常非常快地覆盖许多文件。
发布于 2020-09-15 21:51:47
如果您的ImageMagick命令很简单,而且命令行中只有一个图像,那么您可以使用mogrify来处理文件夹中的每个图像。否则,可以使用-set文件名对magick命令行中的多个输入/输出图像使用文件名。但是,如果您有太多的输入映像,那么就会耗尽内存,因为ImageMagick在magick命令中一次加载所有输入映像。magick mogrify一次只读一本。对于magick命令,您可以
magick @myfiles.txt -set filename:fn "%t" <commands> +adjoin "%[filename:fn]_processed.suffix"
%t获取没有后缀的文件名。请参阅https://imagemagick.org/script/escape.php
还请参阅https://archive.imagemagick.org/Usage/basics/#mogrify的mogrify
对不起,我不知道Powershell。
https://stackoverflow.com/questions/63910192
复制相似问题