get.bat内容:
if "%2"=="" %comspec% /vn /c %0 %1 cmdshell && goto :EOF
set a=0
for /f %%i in (source.txt) do set /a a=a+1 && if "!a!"=="%1" echo %%i >>dest.txt
:EOF
get.bat n 表示提取第n行
如果source.txt有空格的话
for /f %%i in (source.txt) do set /a a=a+1 && if "!a!"=="%1" echo %%i >>dest.txt
get.bat内容:
if "%2"=="" %comspec% /vn /c %0 %1 cmdshell && goto :EOF
set a=0
for /f %%i in (source.txt) do set /a a=a+1 && if "!a!"=="%1" echo %%i >>dest.txt
:EOF
get.bat n 表示提取第n行
如果source.txt有空格的话
for /f %%i in (source.txt) do set /a a=a+1 && if "!a!"=="%1" echo %%i >>dest.txt
不好意思,是我说得不清楚,我的意思是要检测每行有点麻烦。哈哈,我想到了。可以在for /f %%i in (source.txt) do set /a a=a+1 && if "!a!"=="%1" echo %%i >>dest.txt 后面加&&goto :EOFfor /f %%i in (source.txt) do set /a a=a+1 && if "!a!"=="%1" echo %%i >>dest.txt &&goto :EOF这样当"!a!"=="%1" 是也执行goto :EOF,也就退出循环了。
@echo off
for /f %%a in ('find /v /c "" ^<%1') do if %2 GTR %%a (echo Oh,Sorry,too large!!!&&goto :eof)
for /f "tokens=1* delims=:" %%x in ('findstr /n .* %1^|findstr /b "^%2.*$"') do if "%%y"=="" (echo The Line is Empty!) else (echo %%y)