指定したフォルダの画像を、作成日時別のフォルダに割り振り
お盆休み中結構外出して、家族のデジカメ写真がたまっていた。
これらを作成日時別のフォルダ(yyyy_MM_dd形式)に割り振りする処理をスクリプトで書いてみた。
ただ割り振るだけでなく、割り振った写真のファイル名も変更してみた。(yyyy_MM_dd_NNN.jpg、NNNは連番)
#!/usr/bin/env groovyassert args.size() > 0def dir = new File(args[0]) def i = 0 dir.listFiles().findAll{ it.file }.groupBy{ newDate(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")) } }
ディスカッション
コメント一覧
こういう処理、意外とコンパクトにかけますよね。>Groovy
>nobusueさん
ですよね。
ちょっとした作業をやらせるにはぴったりです。
cygwin使っているので他のコマンド使っても出きるんでしょうけどw