[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
纯P,这大文本你期待多快?
|符号的前面,你有些有特殊字符吧,像空格什么的,你举的例子并未列出来...
不行把文本压缩下传到网盘,把下载地址贴出来
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=|" %%a in ('sort 1.txt') do (
  3.         set "str5=!str4!"
  4.         set "str4=!str3!"
  5.         set "str3=!str2!"
  6.         set "str2=!str1!"
  7.         set "str1=%%a"
  8.         if "!str5!"=="!str1!" (
  9.          if not defined . (
  10.          set .=.
  11.          set "#=!#!/ic:"%%a^|" "
  12.          )
  13.         ) else set .=
  14. )
  15. if defined # (findstr /v %#% 1.txt>2.txt)else copy /y 1.txt 2.txt
复制代码
初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

回复 4# batman

    数据处理效率不是很好

6MB的文本,里面行数有超过32行的,处理中,就提示如图显示

TOP

Try it, then you can understand...
***共同提高***

TOP

回复 2# batman


    按照你的代码,如果是超过10行删除的话是不是 吧 “5” 修改为“10“就好了

TOP

本帖最后由 batman 于 2013-7-24 20:17 编辑
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=1* delims=|" %%a in (1.txt) do set /a n+=1,.%%a+=1&set "_!n!=%%a|%%b"
  3. (for /l %%a in (1,1,%n%) do (
  4.   for /f "tokens=1* delims=|" %%b in ("!_%%a!") do if !.%%b! leq 5 echo,%%b^|%%c
  5. ))>2.txt
  6. start 2.txt
复制代码
***共同提高***

TOP

返回列表