大家来讨论下这个问题吧,for语句中如果要处理某个命令输出的中间的几行文字请问要如何处理(比如skip=n是跳过开头n行,如果同时还要跳过最后几行呢,那么这个skip该怎么表达。。。。
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
1 1 1 1 1
2 2 2 2 2
3 3 3 3 3
4 4 4 4 4
5 5 5 5 5
6 6 6 6 6
7 7 7 7 7
8 8 8 8 8
9 9 9 9 9
10 10 10 10 10
11 11 11 11 11
@echo off
rem 处理第三到第七行
for /f "skip=2 tokens=1* delims=:" %%a in ('findstr /n .* ok.txt') do (
echo 第%%a行 -- %%b
if -%%a==-7 goto :end
)
:end
echo the end
pause
| 评分人 | 分数 | 时间 |
|---|---|---|
| 6692836 | +2 | 2007-09-17 16:28 |
| renrenrenshk | +1 | 2007-09-17 18:01 |
| 评分人 | 分数 | 时间 |
|---|---|---|
| 6692836 | -2 | 2007-09-17 16:27 |
Originally posted by 6692836 at 2007-9-17 15:58:
4楼的程序没有问题.学习了
能解释一下for语句中的 delims=:的作用和findstr /n .* ok.txt的语法
我不懂 .谢谢了
[ Last edited by 6692836 on 2007-9-17 at 04:26 PM ]
Originally posted by renrenrenshk at 2007-9-17 09:12:
楼上的方法还不是非常灵活,比如dir命令的输出结果的行数是经常变的(随着文件夹的不同而不同),只有头尾几行是不变的,如果要处理除了那些不变 的几 ...