フォルダの中にある画像ファイルの変更日を1分単位でズラして設定する

Macで、1つのフォルダの中に入っている複数の画像ファイルの変更日を変更できないか試してみました。

やりたいことは、ファイル1つずつ1分単位でずらした変更日時を設定するというもの。

001.jpg → 2000/01/01 00:01:00

002.jpg → 2000/01/01 00:02:00

003.jpg → 2000/01/01 00:03:00

・・・

060.jpg → 2000/01/01 01:00:00

061.jpg → 2000/01/01 01:01:00

こんな感じ。

MacAutomator アプリを立ち上げて、シェルスクリプトを使います。

【UpdateEdit.app】


cd "$1"

FILE_EXSIT_FLG=0
for pathfile in `find -P ./ -type f -maxdepth 1 -iname "*.jpg" -o -iname "*.png"`; do
    FILE_EXSIT_FLG=1
done

find "$1" -type d | sort | while read FILE01
do

if [ "${FILE_EXSIT_FLG}" = 0 ]; then
    if [ "$1" = "${FILE01}" ]; then
        continue
    fi
fi

cd "${FILE01}"

cnt=0

for file in *
do

    mv "$file" "tmp_$file"

done

for file in *
do
    cnt=`expr $cnt + 1`
    h=0
    m=0

    if [ `expr $cnt / 60` -gt 0 ] ; then
        h=`expr $cnt / 60`
        m=`expr $cnt % 60`
    else
        m=$cnt
    fi

    h0="0$h"
    m0="0$m"
    h00=`echo $h0 | rev | cut -c 1-2 | rev`
    m00=`echo $m0 | rev | cut -c 1-2 | rev`

    /usr/local/bin/exiftool -P -overwrite_original -alldates="2000:01:01 ${h00}:${m00}:00" "$file"

    touch -t "20000101${h00}${m00}" "$file"

    cnt0="00$cnt"
    cnt00=`echo $cnt0 | rev | cut -c 1-3 | rev`

    ext=${file##*.}
    mv "$file" "$cnt00.$ext"

done

done

echo "finish!"

この、UpdateEdit.app に、画像の入ったフォルダをドラッグ&ドロップすれば、中の画像の更新日が1分ずつズラして設定されます。

【追記】ファイル名も連番にする時のスクリプトを追加


cnt0="00$cnt"
cnt00=`echo $cnt0 | rev | cut -c 1-3 | rev`

ext=${file##*.}
mv "$file" "$cnt00.$ext"

【追記】exiftool を使った日時変更追加

/usr/local/bin/exiftool -P -overwrite_original -alldates="2000:01:01 00:00:00" "$file"

www.nanigoto.net

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA