フォルダの中にある画像ファイルの変更日を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"

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`
    
    setfile -m "01/01/2000 ${h00}:${m00}:00" "$file"

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

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

done

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

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

cnt0="00$cnt"
cnt00=`echo $cnt0 | rev | cut -c 1-3 | rev`
ext=${file##*.}
mv "$file" "$cnt00.$ext"

www.nanigoto.net