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

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

TOP

本帖最后由 qixiaobin0715 于 2023-9-12 16:09 编辑

如果需要保留的不同字段类型较多,这样要简洁些:
  1. @echo off
  2. chcp 65001
  3. set var="{$CP936=" "{$CP950=" "{$CP0="
  4. (for /f "tokens=1* delims=]" %%i in ('find /v /n "" License.txt') do (
  5.     if defined n (
  6.         echo,%%j
  7.         if "%%j"=="$}" set n=
  8.     ) else (
  9.         for %%k in (%var%) do (
  10.             if "%%j"==%%k (
  11.                 set n=0
  12.                 echo,%%j
  13.             )
  14.         )
  15.     )
  16. ))>"License_精简.txt"
  17. pause
复制代码
又修改了下,这样总的判断频次要少一些。

TOP

返回列表