- @echo off&setlocal enabledelayedexpansion
- for /f "tokens=1 delims=:" %%i in ('findstr /n .* a.txt') do set num1=%%i
- for /f "tokens=1 delims=:" %%i in ('findstr /n .* b.txt') do set num2=%%i
- if !num1! geq !num2! ( goto start
- ) else (
- ren a.txt c.txt
- ren b.txt a.txt
- ren c.txt b.txt
- )
- :start
- set /a line=0
- for /f "delims=" %%a in (a.txt) do (
- echo %%a
- set /a c=0
- for /f "delims=" %%b in ('more +!line! "b.txt"') do (
- set /a c+=1
- if !c! equ 1 echo %%b
- )
- set /a line+=1
- )
- pause>nul
复制代码 这个代码的缺陷在于每读取1.txt中一行都得把2.txt中内容遍历一次。但是我想不出办法让让读取2.txt的for只运行一个循环、用goto会出错。哎~~~
[ 本帖最后由 vincentzhou 于 2011-1-2 16:55 编辑 ] |