Windowsのバッチコマンドは、大量のデータを処理するときなどに便利なのでよく利用している。最近はPowerShellなどもあるので、コマンドラインの使い勝手が上がっており、比較的単純な処理などは十分に実行することができる。
さて、とある業務にて、企業名ごとのフォルダを一度に大量に作る必要があった。普通に考えればリスト読み込んでそれをフォルダにする(MDコマンド)処理をバッチファイルで作成すれば良いのだが、ちょっと問題があった。
というのも、企業名の中に「醬油」と言う文字が含まれていたのである。これはシフトJISでは表現できない文字なのである(UTF8の様な文字コードであれば表現可能な文字である)。シフトJISで表現できる簡易なフォントは「醤油」となる。この文字があるため、バッチファイルでうまく動作できなかった。というのもWindowsのコマンドラインは基本はシフトJISだから。
そこで、Windowsのコマンドラインの文字コードを確認、変更する必要がある。それが「chcp」というコマンドである。chcpはWindowsのコマンドラインの標準コマンドである。
「chcp」と入力すると「現在のコード ページ: 932」と表示される。この「932」がシフトJISという意味である。これをUTF8に変更したい場合は「chcp 65001」と入力してEnterキーを押す。すると画面がクリアされて1行目に「Active code page: 65001」(何故か英語)と表示される。これで、UTF8に切り替わった。この後は、UTF8で作成したバッチファイルも正常に動作するようになる。
ちなみに、この設定はコマンドラインを一度閉じるとクリアされるので、再度開く場合は再設定が必要である。