如果中间的内容是一样的话,代码还可以简化:- @echo off & setlocal enabledelayedexpansion
- for /f "delims=" %%i in (1.txt) do (
- set foo=%%i
- set /a n+=1
- if /i "!foo:~4,21!"=="ATA Device Properties" set min=!n! & set /a max=!n!+13
- if !n! gtr !min! if !n! lss !max! call,echo/%%~i
- )
- pause>nul
复制代码 如果内容不同则用这个:
- @echo off & setlocal enabledelayedexpansion
- for /f "delims=" %%i in (1.txt) do (
- set foo=%%i
- set /a n+=1
- if /i "!foo:~4,21!"=="ATA Device Properties" set min=!n!
- if /i "!foo:~4,19!"=="ATA Device Features" set max=!n!
- )
- for /f "delims=" %%i in (1.txt) do (
- set /a m+=1
- if !m! gtr !min! if !m! lss !max! call,echo/%%~i
- )
- pause>nul
复制代码
[ 本帖最后由 asnahu 于 2009-10-31 08:48 编辑 ] |