WindowsのコマンドプロンプトでUnicodeを扱おうとして挫折した。

投稿日:2017-02-04

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
:

ここまで来たら、適当なリネームソフトで一括変換するなりなんなりと。

 







-開発メモ
-,


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

BIOSパスワードの設定と解除方法

会社のPCでBIOSパスワードを設定してる人も多いかもしれない。 今回はそんなお話。 とあるPCを別の人に貸与することになって、設定とかが終わったんだけど、OSのインストール直後に渡されたみたいで、W …

SyntaxHighlighter EvolvedっていうWordPressのプラグインを使ったら、楽にソースコードを表示できた。

SyntaxHighlighter Evolvedっていうプラグインを使って、コードの表示を楽にしてみた。 C#で正規表現が使えたらな〜って時は以外と多いので、ちょっと正規表現を頑張って使ってみた。 …

[VMWare Fusion]VMWare Fusion 12を導入した話

  日本の中心付近で仕様変更と闘うSE日記 1 Pocket[VMWare Fusion]VMWare Fusion 11がBigSurで使えなかった話。http://ht-jp.net/b …

デグレをぶちかましたので、開発作業を1週間以上止められた話。

自分が改修を担当した画面でデグレが発覚してしまい、開発作業を1週間以上止められました。 止められたのは自分だけですが、マジです。 そんだけ、開発現場において、デグレってのは駄目な話です。 一回、こうい …

[Oracle]破棄されたオブジェクトにアクセスできません。 オブジェクト名 ‘oracleconnection’ です。

破棄されたオブジェクトにアクセスできません。 オブジェクト名 ‘oracleconnection’ です。 破棄されたオブジェクトかどうかの判断(MSDK) MSDNでも破棄さ …


カテゴリー