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

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

関連記事

DLLのプロパティのブロック解除をして、ダウンロードしたプログラムを起動出来るようにする。ダウンロードしたプログラムが実行できない時の対処法。

よくありますよね・・・ 予期せぬエラーってなんだよ(`・∀・´) 特にお客さんの目の前で「デンッ!!」っていうエラー音と共に表示された時の微妙な空気感がたまりません (╹◡╹) (^ω^) :(;゙゚ …

[ORACLE]最初の有効値を返すCOALESCE・・・読み方分からねぇw

知らなかったら、多分CASEとかで判定してた。 まぁ、人の書いたSQLは勉強になるよねって話・・・じゃないなw 事の発端は、今のプロジェクトで別の人が作った画面の修正をやることになったこと。 その人は …

Visual Studio 2008 が重い件について(暫定対応)

現象 とにかく重い。 重いと一言で言うけど、重いという内容は色々含んではいる。 起動が遅い スクロールすらカク付く 右クリックのコンテキストメニューが表示されるまで数秒待たされる 定義の移動に時間がか …

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

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

ダイナミックディスクのクローン作成に失敗したから、結局、OSのクリーンインストールをせざるを得なかった。

SSDへの移行失敗しました。 無料で使えるEaseUS Todo BackUp のフリー版を使ったけど、クローンが作成できなかった・・・ コピー後、起動しようとしても、お馴染みのOSディスクが無いぜ? …


カテゴリー