[トップ] - [Windows 10 FAQ 一覧]

対象:Windows 10

wmic でファイルをリダイレクトすると、ファイルの先頭にBOM(FF FE)が付く





問題


wmic で結果をファイルをリダイレクトすると、ファイルの先頭にBOM(FF FE)が付く現象が発生しています。
これを Excel シートなど他のアプリケーションで読み込ませると "FF FE" のゴミが付いてしまいます。

以下は再現方法です。


wmic os get Buildnumber /value > tmp.txt



この場合、tmp.txt の先頭に FF FE が付いてしまいます。




原因


中身はUTF-8 と Shift-jis 混在のようですが、ファイルの先頭に BOM が付く不思議なファイルのようです。 (2018年2月に Windows 10で確認しました。バグでしょうか。)
UTF-8で開いてBOMに対処しようとしたが、中身の一部がShift-Jisらしく、正常に処理できませんでした。

リダイレクトではなくパイプ処理の場合は Shift-JISで保存され、BOMもつかないようです。しかし今度は改行が CR+CR+LF でおかしくなります。

今回は別途プログラムの方で除去する必要して対応しました。参考まで以下がそのサンプルコードです。

Open "BOMtestFile.txt" For Input As #1
Do Until EOF(1)
Line Input #1, buf
Rem wmic のパイプ渡しの場合は改行が CR+CR+LF
If (buf = vbCr Or buf = vbCf) Then
rem donothing
Else
rem add code here
End If
Loop




(ご注意) 本サイト内の内容を使用して発生したいかなる時間的損害、金銭的損害あるいはいかなる損害に対して、いかなる人物も一切の責任を負いません。あくまでも個人の判断で使用してください。 本ページは独自に調査をしたアンオフィシャル(非公式)な内容です。内容に誤りがあったり、仕様変更により内容が変わる可能性があります。 本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。)


Copyright(c) TOOLJP.COM 1999-2018

[Windows 10 FAQ 一覧に戻る]