imageMagick从Linux中的文件夹转换为另一个命令?

use*_*187 3 linux imagemagick

我在同一级目录folder1和文件夹2下有两个文件夹,现在我尝试将folder1中的所有图像转换为folder2并使用相同的文件名.这是我现在拥有的:

 for f in folder1/*.jpg
 do 
       convert $f  -resize 80%X80% +profile "*" -quality 85 folder2/$f
 done
Run Code Online (Sandbox Code Playgroud)

它会从它试图转换的每个文件中抛出以下消息:convert:无法打开图像`folder1/folder2/st-3474827-1.jpg':没有这样的文件或目录@ blob.c/OpenBlob/2440.

我知道它的目录问题,但谷歌两天已经不知道如何解决它.你能帮帮我吗?

ick*_*fay 11

有两种方法可以解决它.

  1. 用途mogrify:

    mogrify -path folder2 -thumbnail 50x50 folder1/*.jpg
    
    Run Code Online (Sandbox Code Playgroud)
  2. 用途basename:

    for filename in folder1/*.jpg; do
        basename="$(basename "$filename" .jpg)"
        convert "folder1/$basename.jpg" -thumbnail 50x50 "folder2/$basename.jpg"
    done
    
    Run Code Online (Sandbox Code Playgroud)

前一种选择可能更好,但后者可能更清楚.