ImageMagick @filename 引用多个输出
ImageMagick @filename referencing with multiple outputs
我在 ImageMagick 的文档中看到我可以使用 magick @myfiles.txt
之类的东西来发送多个文件名(在我的例子中我不能使用 globbing,因为它们是随机的)来输入,但是唯一可用的例子结合了它们合并为一个输出。
有没有办法使用此功能为每个输入输出单独的文件?如果没有,如何在 Powershell 中实现这一目标?类似于 Get-content filenames.txt | ForEach-Object {magick}
?
我还没有对此进行测试,因此在尝试之前先在临时目录中对一些文件进行 COPY。
创建一个名为 RESULTS
的输出目录并调整 files.txt
中列出的一堆文件的大小
mkdir RESULTS
magick mogrify -resize 64x64 -path RESULTS @files.txt
使用 mogrify
时要非常小心,如果您不指定 -path
,它会非常非常快地覆盖很多文件。
如果你的ImageMagick命令很简单,命令行中只有一张图片,那么你可以使用magick mogrify来处理文件夹中的每张图片。否则,您可以使用 -set filename 在 magick 命令行中使用多个 input/output 图像的文件名。但是,如果您有太多输入图像,那么您将 运行 超出 RAM,因为 ImageMagick 在 magick 命令中一次加载所有输入图像。 magick mogrify 一次读取一个。对于魔法命令,你可以做
magick @myfiles.txt -set filename:fn "%t" <commands> +adjoin "%[filename:fn]_processed.suffix"
%t 获取不带后缀的文件名。参见 https://imagemagick.org/script/escape.php
另见 mogrify https://archive.imagemagick.org/Usage/basics/#mogrify
抱歉,我不知道 Powershell。
我在 ImageMagick 的文档中看到我可以使用 magick @myfiles.txt
之类的东西来发送多个文件名(在我的例子中我不能使用 globbing,因为它们是随机的)来输入,但是唯一可用的例子结合了它们合并为一个输出。
有没有办法使用此功能为每个输入输出单独的文件?如果没有,如何在 Powershell 中实现这一目标?类似于 Get-content filenames.txt | ForEach-Object {magick}
?
我还没有对此进行测试,因此在尝试之前先在临时目录中对一些文件进行 COPY。
创建一个名为 RESULTS
的输出目录并调整 files.txt
mkdir RESULTS
magick mogrify -resize 64x64 -path RESULTS @files.txt
使用 mogrify
时要非常小心,如果您不指定 -path
,它会非常非常快地覆盖很多文件。
如果你的ImageMagick命令很简单,命令行中只有一张图片,那么你可以使用magick mogrify来处理文件夹中的每张图片。否则,您可以使用 -set filename 在 magick 命令行中使用多个 input/output 图像的文件名。但是,如果您有太多输入图像,那么您将 运行 超出 RAM,因为 ImageMagick 在 magick 命令中一次加载所有输入图像。 magick mogrify 一次读取一个。对于魔法命令,你可以做
magick @myfiles.txt -set filename:fn "%t" <commands> +adjoin "%[filename:fn]_processed.suffix"
%t 获取不带后缀的文件名。参见 https://imagemagick.org/script/escape.php
另见 mogrify https://archive.imagemagick.org/Usage/basics/#mogrify
抱歉,我不知道 Powershell。