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

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

関連記事

[VMWare Fusion]VMWare Fusion 11がBigSurで使えなかった話。

  現在、WindowsとMacの2OS持ちの私ですが、2OSにはデメリットもありまして、それをカバーするために、VMWare Fusionを使用してWindowsとの橋渡しをしたりしてる訳 …

no image

[Xcode]C#とは違うエラーキャッチ方法

先日から、Swiftの勉強をしているわけですが、未だに仕事でメインで使っているC#との違いで戸惑うことがちらほらと。 repeat文なんて、VBやC#じゃ見ないよな。forやwhile文が対応してるけ …

先日のデグレに引き続き、作業を一個抜かしたら、超絶怒られて始末書書かされた件

タイトルの通りで、始末書書かされました。 社内での信用0です。 先日のデグレの時もでしたが、今日も思いっきり怒られましたよ。 電話越しの無言は怖い。 日本の中心付近で仕様変更と闘うSE日記 1 Use …

[VMWare]仮想マシンの容量を最適化して圧縮する

Vmwareを使っているわけですが、長い間使っているとどうしてもゴミというか仮想マシンのフォルダ自体が肥大化してきます。 かといって、フォルダ内のファイルを適当に削除する訳にもいかないんですよねー。 …

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

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


カテゴリー