Board logo

标题: [文件操作] 批处理保存UTF-8 without BOM格式 [打印本页]

作者: nytj    时间: 2018-5-6 19:10     标题: 批处理保存UTF-8 without BOM格式

做了一个批处理,处理的是XML文件。保存的文件格式是UTF-8 BOM格式。想让他保存成UTF-8 without BOM。哪位大神支招。
作者: Batcher    时间: 2018-5-7 13:46

https://stackoverflow.com/questions/18684793/powershell-batch-change-files-encoding-to-utf-8
https://stackoverflow.com/questions/17699645/utf8-encoding-without-bom-powershell
作者: tigerpower    时间: 2018-5-16 06:48

用powershell
  1. powershell -c [IO.File]::WriteAllLines('NoBOM.txt',(gc BOM.txt -Raw))
复制代码
或使用tail
  1. tail -c +4 BOM.txt > NoBOM.txt
复制代码

作者: happy886rr    时间: 2018-5-16 09:28

回复 1# nytj

用wincp,一切就是这么简单 http://www.bathome.net/thread-44343-1-2.html
  1. REM 将test.txt去除BOM
  2. wincp test.txt -oout.txt
复制代码

作者: CrLf    时间: 2018-5-16 13:40

终于有机会秀一下花式技巧:
  1. @findstr . UTF8-BOM.txt | ((pause&pause&pause)>nul & findstr .) >无BOM.txt
复制代码

作者: CrLf    时间: 2018-5-16 13:41

回复 4# happy886rr


    Get,已收录
作者: muink    时间: 2018-6-18 14:05

回复 5# CrLf


    这是个什么原理啊,能把0xBFBBEF这个魔数排除掉
作者: CrLf    时间: 2018-6-18 23:25

回复 7# muink


    其实只是用三个 pause 吃掉了前三个字节。这技巧一直压在箱底没用着,这好像还是第一次真正派上用场。
    详见:http://www.bathome.net/viewthread.php?tid=13327




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2