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


    试试2楼第二个代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 4# 77七
好像有大佬说过,find与其它编码的文本更适合。

TOP

回复 2# Batcher


    好用,非常感谢,有一个地方,原文件的编码是 UTF-8(rom) ,而处理出来的没有带(rom),能不能处理出来的文件编码和原文件编码一致呢

TOP

  1. {$CP949=
  2. 이 프로그램은 개인/기업/학교/관공서등 어디서나 자유롭게 설치하여 사용이 가능합니다.
  3. * 주의사항
  4. - 이 프로그램의 저작권은 (주)카카오(http://www.kakao.com)에 있습니다.
  5. $}
  6. {$CP936=
  7. 本程序可供个人/企业/学校/**机关等自由场合任意安装和使用。
  8. - 本程序著作权归 Kakao 公司 (http://www.kakao.com) 所有。
  9. $}
  10. {$CP950=
  11. 本程式可供個人/企業/學校/**機關(機構)等自由場合任意安裝和使用。
  12. * 注意事項
  13. - 本程式著作權屬於 Kakao 公司 (http://www.kakao.com) 所有。
  14. $}
  15. {$JAPANESE=
  16. 本ソフトウェアはフリーウェア製品であり、非営利目的の範囲内に限り、個人、企業、教育機関、官公庁などで自由に使用できます。
  17. - 本ソフトウェアの著作権はKakao (http://www.kakao.com) が保有しています。
  18. $}
  19. {$CP0=
  20. This software is a freeware product, which can be used freely by individual/company/school/government office/etc. users to play media files as long as it's for non-commercial purposes.
  21. - This software copyrights (C) are owned by Kakao Corp.(https://www.kakaocorp.com/?lang=en)
  22. $}
复制代码

文本1.txt大概这样子

  1. @echo off
  2. chcp 65001 >nul
  3. set "file=1.txt"
  4. (for /f "tokens=1* delims=:" %%a in ('findstr /n .* "%file%"') do (
  5. if "%%b" equ "{$CP936=" (
  6. set m=1
  7. ) else if "%%b" equ "{$CP950=" (
  8. set m=1
  9. ) else if "%%b" equ "{$CP0=" (
  10. set m=1
  11. ) else if "%%b" equ "$}" (
  12. if defined m (
  13. echo %%b
  14. )
  15. set m=
  16. )
  17. if defined m (
  18. echo=%%b
  19. )
  20. ))>2.txt
  21. pause
复制代码
1

评分人数

bat小白,请多指教!谢谢!

TOP

将批处理文件保存为UTF-8编码:
  1. @echo off
  2. chcp 65001
  3. (for /f "tokens=1* delims=]" %%i in ('find /v /n "" License.txt') do (
  4.     if "%%j"=="{$CP936=" (
  5.         set n=0
  6.     ) else if "%%j"=="{$CP950=" (
  7.         set n=0
  8.     ) else if "%%j"=="{$CP0=" (
  9.         set n=0
  10.     )
  11.     if defined n (
  12.         echo,%%j
  13.         if "%%j"=="$}" set n=
  14.     )
  15. ))>"License_精简.txt"
  16. pause
复制代码
2

评分人数

    • hfstar: 谢谢技术 + 1
    • 77七: find也能打印行号,学习了!技术 + 1

TOP

回复 1# hfstar


http://bcn.bathome.net/s/tool/index.html?key=sed
生成结果无BOM:
  1. sed -n "/{\$CP936=/,/\$}/p; /{\$CP950=/,/\$}/p; /{\$CP0=/,/\$}/p; " License.txt > License-1.txt
复制代码
生成结果有BOM:
  1. sed -n "/{\$CP936=/,/\$}/p; /{\$CP950=/,/\$}/p; /{\$CP0=/,/\$}/p; " License.txt > License-1.txt
  2. sed -i "1s/^/\xEF\xBB\xBF/" License-1.txt
复制代码
1

评分人数

我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表