对于自己提出的问题,
显示行数:http://www.cn-dos.net/forum/viewthread.php?tid=27919&fpage=1
删除最后一行:http://www.cn-dos.net/forum/viewthread.php?tid=27920&fpage=1
终于都解决了
各位可以多测试特殊字符,看看结果是不是正确。
谢谢了。
有问题请批评指正。
[ Last edited by namejm on 2007-2-27 at 02:12 PM ]
显示行数:http://www.cn-dos.net/forum/viewthread.php?tid=27919&fpage=1
删除最后一行:http://www.cn-dos.net/forum/viewthread.php?tid=27920&fpage=1
终于都解决了
@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
各位可以多测试特殊字符,看看结果是不是正确。
谢谢了。
有问题请批评指正。
[ Last edited by namejm on 2007-2-27 at 02:12 PM ]
本帖最近评分记录
(共 1 条)
点击查看详情
| 评分人 | 分数 | 时间 |
|---|---|---|
| namejm | -2 | 2007-02-27 01:52 |
