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

取长补短为提速

  1. @echo off&setlocal enabledelayedexpansion
  2. set m=0
  3. for /f "delims=" %%a in (a.txt) do (
  4.     set "str=%%a"&set "str=!str: =!0"
  5.     for %%b in (!m!) do (if "!str:~%%b,1!" neq "" call :sub "%%a")
  6. )
  7. echo 字符数是多的是%var%行,共有%m%个字符。
  8. pause
  9. goto :eof
  10. :sub
  11. set/a en=m+40
  12. for /l %%a in (!m!,1,!en!) do (
  13. if "!str:~%%a,1!" equ "" (
  14.   set/a n=%%a-1
  15.   if !m! lss !n! set/a m=!n!,n=0&set "var=%~1"
  16.   goto :eof
  17. )
  18. )
  19. set/a m=en
  20. goto :sub
复制代码

TOP

请留意中间的输出,此法应该是最高效了吧?
  1. @echo off&setlocal enabledelayedexpansion
  2. set m=1
  3. for /f "delims=" %%a in (a.txt) do (
  4.     set "str=%%a"&set "str=!str: =!0"
  5.     for %%b in (!m!) do (if "!str:~%%b,1!" neq "" call :sub "%%a")
  6. )
  7. set /a m-=1
  8. echo 字符数是多的是%var%行,共有%m%个字符。
  9. pause
  10. goto :eof
  11. :sub
  12. set/a en=m+40
  13. for /l %%a in (!m!,1,!en!) do (
  14.         if "!str:~%%a,1!" equ "" (
  15.                 echo 较多: %~1
  16.         set/a m=%%a&set "var=%~1"&goto :eof)
  17. )
  18. set/a m=en
  19. goto :sub
复制代码
1

评分人数

TOP

返回列表