[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 ivor 于 2012-1-16 16:56 编辑
  1. @echo off & setlocal enabledelayedexpansion
  2. for /f "delims=" %%i in (a.txt) do (
  3.         set count=0
  4.         for /f "skip=1 delims=" %%j in (a.txt) do (
  5.                 if %%i EQU %%j (
  6.                         set /a count+=1
  7.                         
  8.                 )
  9.         
  10.         )
  11.         if NOT !count! GEQ 2 echo %%i>>b.txt
  12. )
复制代码
下面的代码大幅度优化比较的速度,经测试1000行重复字符串,比上个代码快了30倍
  1. @echo off & setlocal enabledelayedexpansion
  2. set Count=0
  3. for /f "delims=" %%i in (a.txt) do (
  4.         
  5.         call :cmp
  6.         if !Count! EQU 1 echo %%i >>b.txt
  7. set Count=0
  8. )
  9. echo.已经成功执行完了 & pause>nul
  10. goto :EOF
  11. :cmp
  12. for /f "skip=1 delims=" %%j in (a.txt) do (
  13.                 if %%i EQU %%j (
  14.                         set /a Count+=1
  15.                         if !Count! EQU 2 goto :EOF
  16.                 )
  17. )
复制代码
1

评分人数

    • CrLf: 乐于助人技术 + 1

TOP

本帖最后由 ivor 于 2012-1-14 02:51 编辑

惭愧,谢谢版主提醒,下次多search
http://bbs.bathome.net/viewthrea ... D%D6%D8%B8%B4%D0%D0
  1. @echo off
  2. (for /f "delims=" %%a in (1.txt) do (
  3.    if not defined "%%a" echo %%a&set ""%%a"=a"
  4. ))>new.txt
复制代码

TOP

回复 9# find


    恩        确实忘了加个退出,已经补上了,谢谢

TOP

返回列表