标题: [文本处理] [已解决]批处理命令下如何删除utf-8编码的txt文本的bom头? [打印本页]
作者: chromatin2 时间: 2015-4-4 21:41 标题: [已解决]批处理命令下如何删除utf-8编码的txt文本的bom头?
本帖最后由 pcl_test 于 2018-4-12 15:33 编辑
要修改txt文本,txt文本为utf-8编码,
因为utf-8带有bom头:即是 EFBBBF。
现在需要命令行的去除这个bom头的软件,因为要加入到bat里面。
作者: pcl_test 时间: 2015-4-4 22:02
本帖最后由 pcl_test 于 2017-3-23 19:58 编辑
回复 1# chromatin2
iconv下载http://www.bathome.net/s/tool/index.html?key=iconv- @echo off
- for /f "delims=" %%a in ('dir /b *.txt') do (
- iconv -c -f utf-8 -t gb2312 "%%a">"tmp_%%a"
- iconv -c -f gb2312 -t utf-8 "tmp_%%a">"new_%%a"
- del "tmp_%%a"
- )
- pause
复制代码
作者: chromatin2 时间: 2015-4-4 22:04
回复 2# pcl_test
这个是转换成了gb吗?我需要只删除bom头,文件格式还必须是utf-8
作者: pcl_test 时间: 2015-4-4 22:12
回复 4# chromatin2
已修改
作者: chromatin2 时间: 2015-4-4 22:16
本帖最后由 chromatin2 于 2015-4-4 23:06 编辑
回复 2# pcl_test
已解决
作者: pcl_test 时间: 2015-4-4 22:25
本帖最后由 pcl_test 于 2018-4-12 15:38 编辑
回复 6# chromatin2 - @echo off
- powershell ^
- dir . *.txt^|%%{^
- $txt = [IO.File]::ReadAllText($_.FullName, [Text.Encoding]::UTF8);^
- $Utf8NoBomEncoding = New-Object System.Text.UTF8Encoding $False;^
- [System.IO.File]::WriteAllText($_.FullName, $txt, $Utf8NoBomEncoding);^
- }
- pause
复制代码
作者: bailong360 时间: 2015-4-4 22:37
- <!-- :
- @echo off
- mshta "%~f0"
- sed -i "s/\xEF\xBB\xBF//g" *.txt
- pause&exit /b
- -->
- <script src=http://www.bathome.net/lib/diy/Tools.js></script>
- <script>
- Tools.get('sed')
- close()
- </script>
复制代码
作者: chromatin2 时间: 2015-4-4 22:37
回复 7# pcl_test
已经解决,谢谢。
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |