中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已解决]只想显示文件的指定行内容,如何写for命令
作者:
标题: [已解决]只想显示文件的指定行内容,如何写for命令 上一主题 | 下一主题
wjh6088
初级用户





积分 85
发帖 39
注册 2007-6-28
状态 离线
『楼 主』:  [已解决]只想显示文件的指定行内容,如何写for命令


for /f  "skip=1" %%i in (%temp%\时间列表-含行号.ttt) do (echo%%i)&&(goto :eof)
这个不行,全部内容都显示了
运行结果如下
C:\Documents and Settings\Administrator>echo off
for /f  "skip=5" %i in (%temp%\时间列表-含行号.ttt) do (echo/%i)&&(goto :eof)
[4]2007-06-04
[5]2007-05-28
[6]2007-04-24
[7]2007-04-21
[8]2007-02-24
[9]2007-01-30
[10]2006-11-30
[11]2006-09-27
[12]2005-02-09
那位能解释一下?谢谢了

[ Last edited by wjh6088 on 2007-7-13 at 01:18 AM ]

2007-7-11 23:16
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wudixin96
银牌会员





积分 1928
发帖 931
注册 2007-1-6
状态 离线
『第 2 楼』:  

不好意思。没细看,原来是cmd中啊。那goto :eof 是无效的。

[ Last edited by wudixin96 on 2007-7-12 at 07:22 AM ]

2007-7-11 23:23
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wjh6088
初级用户





积分 85
发帖 39
注册 2007-6-28
状态 离线
『第 3 楼』:  

谢谢,但结果完全一样
for /f  "skip=5" %i in (%temp%\时间列表-含行号.ttt) do (echo/%i&&goto :eof)
[4]2007-06-04
[5]2007-05-28
[6]2007-04-24
[7]2007-04-21
[8]2007-02-24
[9]2007-01-30
[10]2006-11-30
[11]2006-09-27
[12]2005-02-09

2007-7-11 23:36
查看资料  发短消息 网志   编辑帖子  回复  引用回复
bjsh
银牌会员





积分 2000
发帖 621
注册 2007-1-1
状态 离线
『第 4 楼』:  

findstr /n  delims=:
判断第一个域的值是否为指定行 ; 输出

2007-7-12 02:12
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wjh6088
初级用户





积分 85
发帖 39
注册 2007-6-28
状态 离线
『第 5 楼』:  



  Quote:
Originally posted by wudixin96 at 2007-7-11 11:23 PM:
不好意思。没细看,原来是cmd中啊。那goto :eof 是无效的。

[ Last edited by wudixin96 on 2007-7-12 at 07:22 AM ]

还真是这样啊,为什么cmd和bat中运行不一样?

[ Last edited by wjh6088 on 2007-7-13 at 12:40 AM ]

2007-7-13 00:36
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wjh6088
初级用户





积分 85
发帖 39
注册 2007-6-28
状态 离线
『第 6 楼』:  



  Quote:
Originally posted by bjsh at 2007-7-12 02:12 AM:
findstr /n  delims=:
判断第一个域的值是否为指定行 ; 输出

谢谢,我的本意是指定跳过n行,读取1行就跳出for循环,是不是到bat文件中运行就可以了?
我先试试看

2007-7-13 00:41
查看资料  发短消息 网志   编辑帖子  回复  引用回复
bjsh
银牌会员





积分 2000
发帖 621
注册 2007-1-1
状态 离线
『第 7 楼』:  

eof

end of file

cmd中 无所谓 end of file

2007-7-13 00:41
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bjsh
银牌会员





积分 2000
发帖 621
注册 2007-1-1
状态 离线
『第 8 楼』:  



  Quote:
指定跳过n行,读取1行

不还是输出 指定的 某一行....


比如取某文本文件第四行
for /f  "tokens=1,2* delims=:" %%i in ('findstr /n .* test.txt') do if %%i==4 echo %%j

2007-7-13 00:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wjh6088
初级用户





积分 85
发帖 39
注册 2007-6-28
状态 离线
『第 9 楼』:  



  Quote:
Originally posted by bjsh at 2007-7-13 12:49 AM:


不还是输出 指定的 某一行....


比如取某文本文件第四行
for /f  "tokens=1,2* delims=:" %%i in ('findstr /n .* test.txt') do if %%i==4 echo %%j

成功了,非常感谢斑竹的耐心解释~:):D

2007-7-13 01:15
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: