0

这些是我目录中的文件:

01.png  01_v2.png  02.png  02_v2.png

我想:

  1. 采取公正01_v2.png02_v2.png
  2. 将其调整为750x1334
  3. 将其放在父目录中04_4,7
  4. 但具有相同的文件名01_v2.png02_v2.png

我来到了这个命令:

mogrify *_*.png -resize 750x1334 ../04_4,7/*.png

该命令对第 1-3 点有效,但对第 4 点无效。

它正在重命名01_v2.png01.png02_v2.png02.png但我希望输出文件名与输入文件名相同。

4

3 回答 3

1

目前尚不清楚您是否为此使用 bash,但如果您是该find命令应该可以工作:

find . -iregex '^.*_v.\.png' -exec mogrify -path ../04_4,7/ -resize 750x1334 {} \;

搜索任何文件文件,(2 chars)_(letter "v")(1 char).png然后执行 mogrify 命令进入-path指定维度的目录。

于 2015-04-04T11:36:46.997 回答
1

这看起来更像是一个 shell 问题而不是 imagemagick,不是吗?

假设一个 bash 之类的 shell,您可以执行以下操作:

for f in 01_v2.png 02_v2.png; do
    convert "$f" -resize 750x1334 "../04_4,7/$f"
done
于 2015-04-04T10:44:11.213 回答
0

最简单的方法是这样的:

mogrify  -path ../04_4,7  -resize 750x1334  *v2.png

笔记:

-path设置输出目录

*v2.png选择输入文件

于 2016-01-25T12:05:32.013 回答