指定したフォルダの画像を、作成日時別のフォルダに割り振り

未分類

お盆休み中結構外出して、家族のデジカメ写真がたまっていた。
これらを作成日時別のフォルダ(yyyy_MM_dd形式)に割り振りする処理をスクリプトで書いてみた。
ただ割り振るだけでなく、割り振った写真のファイル名も変更してみた。(yyyy_MM_dd_NNN.jpg、NNNは連番)

#!/usr/bin/env groovy
assert args.size() > 0
def dir = new File(args[0])
def i = 0
dir.listFiles().findAll{
it.file
}.groupBy{
new Date(it.lastModified()).format("yyyy_MM_dd")
}.each{ key, value ->
def newdir = new File(dir.path + "/" + key)
newdir.mkdirs()
i = 0
value.sort{ it.name }.each{
it.renameTo(new File(newdir.path + "/" + newdir.name + "_" + (i++).toString().padLeft(3, '0') + ".jpg"))
}
}

未分類