Originally posted by 26933062 at 2008-4-23 10:32:
谢谢,不过有上千个文件,这样用findstr 命令,可能效率会很慢吧。
就是不想用for ,其实文件中含 60 的都在最后一行,findstr 可以通过这个来完成吗?
最后一行只有 60 的
@echo off
for /f "delims=" %%i in ('dir/b *.txt') do (
for /f %%j in (%%i) do set str=%%j
call :lp "%%i"
)
pause
exit
:lp
if not "%str%" == "60" echo %~1
goto :eof
试试这个,2k2个文件用了差不多50秒
@echo off
for /f "delims=" %%i in ('dir/b *.txt') do set $%%~nxi=$
for /f "delims=" %%i in ('findstr /im "60" *.txt 2^>nul') do set $%%~nxi=
for /f "delims=$=" %%i in ('set $') do echo %%i
pause
exit