
CODE: [Copy to clipboard]@echo off
setlocal EnableDelayedExpansion
rem 删除临时文件。
if exist result*.txt del result*.txt
rem 计算行数,考虑了空行。
for /f "delims=" %%i in ('find /v /n "" test.txt') do set /a line+=1
set/a num=line-1
echo test.txt文本的行数是:!num!。
pause>nul
rem 下面是输出去除最后一行后的文本内容,不过用了几个临时文件进行转移。
for /f "tokens=1,2* delims=" %%i in ('findstr /x /n .* test.txt') do (
set /a n+=1
if "!n!" neq "!line!">>result0.txt echo %%i
)
for /f "tokens=1,2* delims=:" %%i in (result0.txt) do (
set /a n+=1
if "!n!" neq "!line!" ( if not "%%j"=="" (echo %%j>>result.txt) else echo.>>new2.txt)
)
rem 删除不需要的临时文件result0.txt,只保留最后结果。
del result0.txt
| Quote: | |
|
| Quote: | |
|
CODE: [Copy to clipboard]@echo off
setlocal EnableDelayedExpansion
if exist new*.txt del new*.txt
for /f "delims=" %%i in ('find /v /n "" old.txt') do set /a line+=1
set/a num=line-1
echo 文本行数是:!num!。
pause>nul
for /f "tokens=1,2* delims=:" %%i in ('findstr /x /n .* old.txt') do (
set /a n+=1
if "!n!" neq "!line!" ( if not "%%j"=="" (echo %%j>>new2.txt) else echo.>>new2.txt)
)
CODE: [Copy to clipboard]if "!n!" neq "!line!" ( if not "%%j"=="" (echo %%j>>new2.txt) else echo.>>new2.txt)
| Quote: | |
|
| Quote: | |
|
| Quote: | |
|
| Quote: | |
|
CODE: [Copy to clipboard]我也写了个for /f "delims=:" %%i in ('findstr /n . readme.txt') do set /a num=%%i-1
for /f "tokens=*" %%i in ('more readme.txt +%num%') do set xxx=%%i
type readme.txt|find /v "%xxx%">readme2.txt&&echo %num%
| Quote: | |
|
| Quote: | |
|
CODE: [Copy to clipboard]@echo off
setlocal EnableDelayedExpansion
rem 删除临时文件。
if exist result*.txt del result*.txt
rem 计算行数,考虑了空行。
copy test.txt tt.txt
echo __>>tt.txt
for /f "delims= skip=2" %%i in ('find /v /n "" tt.txt') do set /a line+=1
::set/a num=line
del tt.txt
echo test.txt文本的行数是:!line!。
pause>nul
rem 下面是输出去除最后一行后的文本内容,不过用了几个临时文件进行转移。
for /f "tokens=1,2* delims=" %%i in ('findstr /x /n .* test.txt') do (
set /a l+=1
if "!l!" neq "!line!">>result0.txt echo %%i
)
set /a l=line-2
set /a ll=line-1
for /f "tokens=1,* delims=:" %%i in (result0.txt) do (
rem 此处原来这里是1,2*
set /a n+=1
::if "!n!" neq "!line!" ( if not "%%j"=="" (echo %%j>>result.txt) else echo.>>result.txt)
if !n! leq !l! ( if not "%%j"=="" (echo %%j>>result.txt) else (echo.>>result.txt))
if !n! equ !ll! set/p a=%%j>>result.txt<nul
)
rem 删除不需要的临时文件result0.txt,只保留最后结果。
del result0.txt
| Quote: | |
|
| Quote: | |
|
| 欢迎光临 中国DOS联盟论坛 (http://cndos.fam.cx/forum/) | Powered by Discuz! 2.5 |