URLDecodeされなかったファイル名を直す。

小さいけど実用になるGroovyコードのメモ。

Firefox pluginの Video DownloadHelperというツールがあります。
これは別に動画ダウンロード専用ではなく、拡張子を追加定義すれば ppt や doc や pdf も一気に落とすことが出来ます。
ただし日本語対応していないので、各種日本語名のファイルをダウンロードした時、ファイル名がURLDecodeされないままでファイルが落ちてきます。
例えば "ファイル名.pdf" というファイルは "%83%74%83%40%83%43%83%8B%96%BC.pdf"
という名前となってしまいます。
充分に日本語化対応していないツールでは、時々あることなので、この名前を元に戻すスクリプトを書きました。
開始ディレクトリーから下のファイル全てに対して、一気にファイル名のURLDecodeの書き戻しします。

new File(".").eachFileRecurse { file -> 
	if(file.isFile()){
		curName = file.getPath().replaceAll(/.\\(.*)/) {m0,m1 -> m1}
		newName = new File(URLDecoder.decode(curName, "UTF-8"))
		println "現行ファイル名: "+curName
		println "新規ファイル名: "+newName
		file.renameTo(newName)
	}
}