2017年11月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
無料ブログはココログ

« pingやwmicなど、改行文字がおかしい(CR+CR+LF)コマンド出力をforコマンドで処理する。 | トップページ | タスクバーにCPU負荷を表示する。 »

2009年9月 5日 (土)

wmicの出力は、リダイレクションとパイプで文字コードが異なる。

ファイルへのリダイレクションは、BOM付きUnicodeLEです。こちらの改行文字は正常です。CR+LF

一方、パイプは、シフトJISです。こちらの改行文字が変です。CR+CR+LF

ところで、for /F で読めるのは、シフトJISです。Unicodeは読めません。

なので、wmicの出力をファイルに出して、for /F %I in (ファイル) では読めません。
for /F %I in ('type ファイル') なら、シフトJISに変換されるので、読めます。改行文字の問題もありません。

また、for /F %I in ('コマンド') はパイプなので、wmicの出力がそのまま読めます。ただし、改行文字が。。。

« pingやwmicなど、改行文字がおかしい(CR+CR+LF)コマンド出力をforコマンドで処理する。 | トップページ | タスクバーにCPU負荷を表示する。 »