差点忘了还有 findstr /o,几乎没有使用过...
如果不需要考虑兼容特殊字符 ! 的话还是比较容易实现的:- @echo off&setlocal enabledelayedexpansion
- for /f "tokens=1* delims=:" %%a in ('cmd /c "type a.txt&echo.&echo."^|findstr /o .*') do (
- set /a len=%%a-offset-2
- if !len! gtr !max! (
- set "max=!len!"
- set "long=!last!"
- )
- set last=%%b
- set offset=%%a
- )
- echo %max%
- echo %long%
- pause
复制代码 当然还是没有文件大小来得方便,下面是不考虑 ! 的文件大小方案:- @echo off&setlocal enabledelayedexpansion
- for /f "delims=" %%a in (a.txt) do (
- echo;%%a>tmp
- for %%z in (tmp) do (
- if %%~zz gtr !max! (
- set max=%%~zz
- set "long=%%a"
- )
- )
- )
- set /a max-=2
- echo !max!
- echo !long!
- pause
复制代码
|