バッチファイルだけで、UnicodeLE や UTF-8 の BOM を除去する。
UnicodeLE の BOM を除去する。
cmd /u /c type BOMありUnicodeファイル > BOMなしUnicodeファイル
これを利用して、
UTF-8 の BOM を除去する。
utf8-bom.cmd BOMありUTF-8ファイル BOMなしUTF-8ファイル
start /min /wait cmd /c chcp.com 65001 ^& cmd /u /c type %1 ^>$$$ ^& cmd /c type $$$ ^>%2 ^& del $$$
こちらは上書き保存も可。
さらに、複数のBOMあり/なし不定のUTF-8ファイルをワイルドカードやドロップで、BOMがあれば削除して上書きする。
for-utf8-bom.cmd BOMあり/なしUTF-8ファイル...
for %%1 in (%*) do start /min /wait cmd /v:on /c chcp.com 65001 ^& cmd /u /c type %%1 ^>$$$ ^& set /p x=^<$$$ ^& ^( if "!x:~0,2!"=="" cmd /c type $$$ ^>%%1 ^) ^& del $$$
« forコマンドの憂鬱。ファイルセットのリカージョン | トップページ | ADODB.Streamを使って、UTF-8 の BOM を除去する。 »