![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-05 19:25 |
共 48,039 主题排行 / 350,124 发帖 / 今日 2 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [已结]如何编写P用来删除文本的最后3行 |
| 可打印版本 778 / 6 |
| 第1楼 hbby | 发表于 2007-09-15 10:15 |
| 中级用户 发帖 99 积分 220 | |
|
[已结]如何编写P用来删除文本的最后3行 请高手指导如何编写P处理来删除文本的最后3行,而且文本中包含特殊字符,希望用系统自带的命令!谢谢!
[ Last edited by hbby on 2007-9-15 at 03:03 PM ] |
|
| 第2楼 scriptor | 发表于 2007-09-15 11:10 |
| 银牌会员 发帖 555 积分 1,187 | |
|
自己体会吧! |
|
| 第3楼 hbby | 发表于 2007-09-15 11:59 |
| 中级用户 发帖 99 积分 220 | |
|
感谢楼上的朋友,但是文件中含有空行的话就删除不到最后几行了,能再看看吗?谢谢
|
|
| 第4楼 terse | 发表于 2007-09-15 14:37 |
| 银牌会员 发帖 946 积分 2,404 | |
|
试一下
@echo off cd.>test2.txt for /f "delims=:" %%i in ('findstr /n . test.txt') do set n=%%i set /a nm=%n% -2>nul for /f "delims=" %%i in ('findstr /n .* test.txt') do ( set /a mn=%%i 2>nul set "m=%%i" setlocal enabledelayedexpansion set "m=!m:*:=!" if !nm! EQU !mn! goto end echo.!m!>>test2.txt endlocal ) :end pause [ Last edited by terse on 2007-9-15 at 02:46 PM ] |
|
| 第5楼 scriptor | 发表于 2007-09-15 14:43 |
| 银牌会员 发帖 555 积分 1,187 | |
Originally posted by hbby at 2007-9-15 11:59: 是的 那个写得不完善 你用楼上的吧!(4楼) 那个快1 |
|
| 第6楼 hbby | 发表于 2007-09-15 15:03 |
| 中级用户 发帖 99 积分 220 | |
|
都是高手,谢谢,这个可以了!
|
|
| 第7楼 wudixin96 | 发表于 2007-09-15 15:57 |
| 银牌会员 发帖 931 积分 1,928 | |
|
sed -e :a -e "$d;N;2,3ba" -e "P;D" 1.txt>>2.txt
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |