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) } }