[ホーム] - [Windows 10 FAQ 一覧] - [wmic でファイルをリダイレクトすると、ファイルの先頭にBOM(FF FE)が付く]



作成日:2018/03/20
更新日:2018/06/01
対象: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-2024

[Windows 10 FAQ 一覧に戻る]