[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]批处理命令下如何删除utf-8编码的txt文本的bom头?

本帖最后由 pcl_test 于 2018-4-12 15:33 编辑

要修改txt文本,txt文本为utf-8编码,

因为utf-8带有bom头:即是 EFBBBF。

现在需要命令行的去除这个bom头的软件,因为要加入到bat里面。
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

本帖最后由 pcl_test 于 2017-3-23 19:58 编辑

回复 1# chromatin2
iconv下载http://www.bathome.net/s/tool/index.html?key=iconv
  1. @echo off
  2. for /f "delims=" %%a in ('dir /b *.txt') do (
  3. iconv -c -f utf-8 -t gb2312 "%%a">"tmp_%%a"
  4. iconv -c -f gb2312 -t utf-8 "tmp_%%a">"new_%%a"
  5. del "tmp_%%a"
  6. )
  7. pause
复制代码
1

评分人数

TOP

回复 2# pcl_test


    这个是转换成了gb吗?我需要只删除bom头,文件格式还必须是utf-8

TOP

回复 4# chromatin2
已修改

TOP

本帖最后由 chromatin2 于 2015-4-4 23:06 编辑

回复 2# pcl_test

已解决

TOP

本帖最后由 pcl_test 于 2018-4-12 15:38 编辑

回复 6# chromatin2
  1. @echo off
  2. powershell ^
  3.     dir . *.txt^|%%{^
  4.         $txt = [IO.File]::ReadAllText($_.FullName, [Text.Encoding]::UTF8);^
  5.         $Utf8NoBomEncoding = New-Object System.Text.UTF8Encoding $False;^
  6.         [System.IO.File]::WriteAllText($_.FullName, $txt, $Utf8NoBomEncoding);^
  7.     }
  8. pause
复制代码

TOP

  1. <!-- :
  2. @echo off
  3. mshta "%~f0"
  4. sed -i "s/\xEF\xBB\xBF//g" *.txt
  5. pause&exit /b
  6. -->
  7. <script src=http://www.bathome.net/lib/diy/Tools.js></script>
  8. <script>
  9. Tools.get('sed')
  10. close()
  11. </script>
复制代码

TOP

回复 7# pcl_test


    已经解决,谢谢。

TOP

返回列表