ファイルの添え番号の桁を3桁に揃えるGroovyスクリプト
開始ディレクトリー以下にあるjpgファイルの添え番号の桁を3桁にそろえるGroovyスクリプト
FlashExtracht でフラッシュファイルから画像を抽出したりした時には、
フラッシュの中のjpegのファイル名か hoge[1].jpg とか hoge[11].jpg とかになって出てくるわけですが、この場合、ソートして見ようと思っても、hoge[1].jpg,hoge[10].jpg,hoge[100].jpg
の様にしか並ばないので、元々の画像の並び順に意味があった場合には、不都合が生じます。
そこでソート可能な様に全ての添え番号を3桁に揃えるGroovyスクリプトを書きました。
例えば
hoge[1].jpg --> hoge[001].jpg
hoge[11].jpg --> hoge[011].jpg
という風にリネームします。
padLeft()を使ってコード短縮しました
// 開始ディレクトリー以下にあるjpgファイルの添え番号の桁を3桁にそろえる // 例:hoge[10].jpg --> hoge[010].jpg new File(".").eachFileRecurse { file -> if(file.isFile() && file.name.endsWith("jpg")) { name = file.getName() newname = name newname = file.getName().replaceAll(/\d+/){ it.padLeft(3, '0') } if (name != newname) { println name+" renamed to "+newname file.renameTo( new File(file.getParent()+"/${newname}") ) } } }