[Groovy]ファイルをファイルの最終更新日時別のディレクトリに仕分ける

雑多に保存していた画像を日付で仕分けしたくなったので。

ホントはExifの撮影日付を使おうと思っていたんですが、それはまたその機会に。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
def destParent = new File("C:\\Users\\user\\Pictures\\dest")
new File("C:\\Users\\user\\Pictures\\src").listFiles().each(){
def date = null;
if( ! it.isDirectory() ){
date = new Date()
date.setTime(it.lastModified())
def destDir = new File(destParent, date.format("yyyyMMdd"))
if(!destDir.exists()){
destDir.mkdir()
}
def destFile = new File(destDir, it.name)
destFile << it.readBytes()
destFile.setLastModified(date.time)
}
}