中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-25 14:35
共 47,813 主题排行 / 349,918 发帖 / 今日 0 篇 / 48,274 会员排行
DOS批处理 & 脚本技术(批处理室) » [已解决]只想显示文件的指定行内容,如何写for命令
可打印版本  873 / 8
第1楼 wjh6088 发表于 2007-07-11 23:16
初级用户 发帖 39 积分 85
[已解决]只想显示文件的指定行内容,如何写for命令

这个不行,全部内容都显示了
运行结果如下

那位能解释一下?谢谢了

[ Last edited by wjh6088 on 2007-7-13 at 01:18 AM ]
第2楼 wudixin96 发表于 2007-07-11 23:23
银牌会员 发帖 931 积分 1,928
不好意思。没细看,原来是cmd中啊。那goto :eof 是无效的。

[ Last edited by wudixin96 on 2007-7-12 at 07:22 AM ]
第3楼 wjh6088 发表于 2007-07-11 23:36
初级用户 发帖 39 积分 85
谢谢,但结果完全一样
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
第4楼 bjsh 发表于 2007-07-12 02:12
银牌会员 发帖 621 积分 2,000
findstr /n delims=:
判断第一个域的值是否为指定行 ; 输出
第5楼 wjh6088 发表于 2007-07-13 00:36
初级用户 发帖 39 积分 85
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 ]
第6楼 wjh6088 发表于 2007-07-13 00:41
初级用户 发帖 39 积分 85
Originally posted by bjsh at 2007-7-12 02:12 AM:
findstr /n delims=:
判断第一个域的值是否为指定行 ; 输出

谢谢,我的本意是指定跳过n行,读取1行就跳出for循环,是不是到bat文件中运行就可以了?
我先试试看
第7楼 bjsh 发表于 2007-07-13 00:41
银牌会员 发帖 621 积分 2,000
eof

end of file

cmd中 无所谓 end of file
第8楼 bjsh 发表于 2007-07-13 00:49
银牌会员 发帖 621 积分 2,000

指定跳过n行,读取1行


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


比如取某文本文件第四行
for /f "tokens=1,2* delims=:" %%i in ('findstr /n .* test.txt') do if %%i==4 echo %%j
第9楼 wjh6088 发表于 2007-07-13 01:15
初级用户 发帖 39 积分 85
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
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023