プログラミング

プログラミングに関するフォーラムです。VBAは除きます。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Pro : その他)
コマンドプロンプトでフォルダ名一覧記載後の文字コードが変わる
投稿日時: 21/04/28 11:47:03
投稿者: Alice

コマンドプロンプトで下記コードを使って、テキストファイルにフォルダ名一覧を書き込んでいます。
 
dir /b /ad /s フォルダ名一覧対象のフォルダのフルパス > フォルダ一覧を書き出すテキストファイルのフルパス
 
書き出す為のテキストファイルは、UTF-8やUTF-16で保存しておいても、上記のコードを実行すると文字コードがANSIに変更されてしまい、環境依存文字が文字化けしてしまいます。
(具体的には「圳」という文字です。この字が「?」になってしまう。)
 
勝手にANSIにならないようにするにはどうすれば良いのでしょうか?
 
いろいろとググってみましたが、解決策につながるような情報を見つけられなかった為、こちらに投稿しました。
 
助言を下さる方がいらっしゃると大変ありがたいです。
 
宜しくお願い致します。

回答
投稿日時: 21/04/28 14:50:43
投稿者: Suzu

CHCP にて、文字コードを変更できます。
 
UTF-8 の場合ですと、65001 を渡します。
 
ですので、これを パイプし、DIRにつなげます。
 
CHCP 65001 | dir /b /ad /s フォルダ名一覧対象のフォルダのフルパス > フォルダ一覧を書き出すテキストファイルのフルパス

投稿日時: 21/04/30 12:18:29
投稿者: Alice

Suzu様
 
今回もアドバイスをありがとうございます。
 
Suzu様のアドバイス通りで文字化けせずに記載することができました。
 
大感謝です。ありがとうございます。