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

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

関連記事

[ORACLE]SQLのIN句にパラメータを適用する方法

カンマ区切りの文字列を取得した理由 こないだの続きです。 日本の中心付近で仕様変更と闘うSE日記[C#]リストをカンマ区切りの文字列で出力するhttp://ht-jp.net/blog/pc/c/c- …

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

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

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

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

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

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

[ORACLE]ORA-24344:正常に終了しましたが、コンパイル・エラーがあります。

全然、正常に終われてねぇんじゃん?? って思った。 ビューの作成時に発生。 ネットで検索するも、明確な回答は見当たらず・・・ ただ、エラーには違いないので、ビューが正しく作成されていないことになる。 …


カテゴリー