WindowsのコマンドプロンプトでUnicodeのファイル名を扱うためのバッチファイルをどうたらこうたら。
http://daily-misc.blogspot.jp/2014/12/windowsunicode.html
読んでは見たけど・・・BOMありとかBOMなしとか途中で理解するのをヤメたw
とりあえず、求める作業が許すなら、Unicode対応のファイラーとか使ったほうが早い。
といいつつも、実際問題、他人から受け取るファイルにはUnicode文字の含まれたファイル名が混在していたりすることもあるわけで、避けては通れない問題。
dir /b > FileName.txt
こんなコマンドでファイル名を出力すると、Unicodeの部分だけ文字化けというか、%46%・・・って感じで正しく表示されない。
結果的に、バッチファイルで一括処理させたい時に、これらのファイルが処理できないっていうね。
今の所の個人的な解決方法としては、コマンドプロンプトのrenameコマンドを使うこと。
特に多数の連番ファイルに有効かな。
aaaaaaaaaa001 aaaaaaaaaa002 aaaaaaaaaa003 aaaaaaaaaa004 aaaaaaaaaa005 : ※ここでは、「a」はUnicodeとしてくださいw
こんな感じでUnicodeが使われているファイル名を1から順にファイル名の修正をしたい場合・・・
知らない人だと、バッチファイルが使えないので、ファイルを1個ずつ右クリック⇨名前の変更・・・っていう作業を繰り返すことになる訳で(^ω^)
いや、知らない人だと、そもそもファイル名を修正しようとすらしないかな?
ただ、使用するソフトによっては、そもそもファイルが開けなかったりするので、対処法を知っておいて損はない。
対処法って言っても、ファイル名を修正するだけなんだけど・・・
ただ、数が多い場合、このままだと、ファイル名のリネームソフトなんかも使えないままなので、なんとかするために、試行錯誤した結果、どのWinwods環境でも使えるコマンドプロンプトでなんとかする方法にたどり着いた。
ren "aaaaaaaaaa"* "(file)"* ※(file)・・・まとめて変更したいファイル名。
で、
(file)001 (file)002 (file)003 (file)004 (file)005 :
ここまで来たら、適当なリネームソフトで一括変換するなりなんなりと。