Board logo

标题: [已解决]只想显示文件的指定行内容,如何写for命令 [打印本页]

作者: wjh6088     时间: 2007-7-11 23:16    标题: [已解决]只想显示文件的指定行内容,如何写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 ]

作者: wudixin96     时间: 2007-7-11 23:23
不好意思。没细看,原来是cmd中啊。那goto :eof 是无效的。 [ Last edited by wudixin96 on 2007-7-12 at 07:22 AM ]

作者: wjh6088     时间: 2007-7-11 23:36
谢谢,但结果完全一样 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

作者: bjsh     时间: 2007-7-12 02:12
findstr /n delims=: 判断第一个域的值是否为指定行 ; 输出

作者: wjh6088     时间: 2007-7-13 00:36
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 ]

作者: wjh6088     时间: 2007-7-13 00:41
Originally posted by bjsh at 2007-7-12 02:12 AM: findstr /n delims=: 判断第一个域的值是否为指定行 ; 输出
谢谢,我的本意是指定跳过n行,读取1行就跳出for循环,是不是到bat文件中运行就可以了? 我先试试看

作者: bjsh     时间: 2007-7-13 00:41
eof end of file cmd中 无所谓 end of file

作者: bjsh     时间: 2007-7-13 00:49
指定跳过n行,读取1行
不还是输出 指定的 某一行.... 比如取某文本文件第四行 for /f "tokens=1,2* delims=:" %%i in ('findstr /n .* test.txt') do if %%i==4 echo %%j

作者: wjh6088     时间: 2007-7-13 01:15
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