mogrify
コマンドオプションには、サブフォルダーも通過するように指示する単純なスイッチがあると思いました。何も見つかりませんでした。 Linuxでは、「find
」コマンドでうまくいくようですが、Windowsではどうすればよいですか?
magick mogrify -resample 72 -resize 700x700 -format png -path "C:\ImageMagick-7.0.8-Q16\dest" *.*
動作しますが、サブフォルダーを介して再帰するためにも必要です。それを行う最も簡単な方法は何ですか?
理想的には、宛先に保持され、処理された画像のみを含むソースディレクトリ構造を探しています。
FOR/R ループを使用して、ファイルが存在するルートディレクトリからファイルを反復処理し、以下の例のように、各ファイルに対してコマンドを実行します。
-path
パラメータを省略すると、それらが存在する元のファイルに対して実行されるようです。したがって、元のソースから元の構造を保持する簡単なソリューションについては、ソースファイルの元のルートフォルダーを新しい場所にコピーしてから、そのフォルダーの名前を変更することを検討してください。
注:必ずC:\Source\Folder\Root
を、ファイルまたはファイルサブフォルダーが存在する正確なフォルダーに置き換えてください。それらのファイルに対してコマンド操作を実行するために再帰します。
for /r "C:\Source\Folder\Root" %a in (*.*) do mogrify -resample 72 -resize 700x700 -format png "%~a"
for /r "C:\Source\Folder\Root" %a in (*.*) do mogrify -resample 72 -resize 700x700 -format png "%~a" && IF NOT [%~Xa]==[.png] DEL /Q /F "%~a"