画像でいっぱいのサブフォルダがたくさんあるフォルダがあります。たとえば、添付の画像を参照してください。
基本的に、それらすべてをループして画像を縮小し、1024ピクセルより広いものがないようにします。それらはすべてjpegです。
SIPSコマンドを知っています。
sips -Z 1024 *.png
ただし、これはすべての画像が現在のディレクトリにある場合にのみ機能します。
すべてのサブディレクトリをトラバースするように設定するにはどうすればよいですか?
Findで実行できます:find images/path -type f -name '*.png' -exec sips -Z 1024 {} \;
Findは、 'images/path'ディレクトリ内でpng拡張子(-name '* .png')のファイル(-type f)を検索し、パラメータのコマンドを実行して、「{}」をファイル名に置き換えます。終了する必要があります。 「\;」を含むコマンド。
私は私のために働いた小さなbashスクリプトを変更することができました
#!/bin/bash
find "foldername" -type f | \
while read file ; do
echo "processing ${file}"
sips -Z 2000 ${file}
done