楼 主
[已解决]只想显示文件的指定行内容,如何写for命令
发表于 2007-07-11 23:16 · 中国 广西 南宁 青秀区 电信
初级用户
★
积分 85 发帖 39 注册 2007-06-28 22:22 19年会员 UID 92624 性别 男
状态 离线
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)
2007-06-04
2007-05-28
2007-04-24
2007-04-21
2007-02-24
2007-01-30
2006-11-30
2006-09-27
2005-02-09
那位能解释一下?谢谢了
[
Last edited by wjh6088 on 2007-7-13 at 01:18 AM ]
第 2 楼
发表于 2007-07-11 23:23 · 中国 天津 电信
银牌会员
★★★
积分 1,928 发帖 931 注册 2007-01-06 11:46 19年会员 UID 75624 性别 男
状态 离线
不好意思。没细看,原来是cmd中啊。那goto :eof 是无效的。
[ Last edited by wudixin96 on 2007-7-12 at 07:22 AM ]
第 3 楼
发表于 2007-07-11 23:36 · 中国 广西 南宁 青秀区 电信
初级用户
★
积分 85 发帖 39 注册 2007-06-28 22:22 19年会员 UID 92624 性别 男
状态 离线
谢谢,但结果完全一样
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 楼
发表于 2007-07-12 02:12 · 中国 浙江 杭州 电信
银牌会员
★★★
积分 2,000 发帖 621 注册 2007-01-01 00:00 19年会员 UID 75212 性别 男
状态 离线
findstr /n delims=:
判断第一个域的值是否为指定行 ; 输出
第 5 楼
发表于 2007-07-13 00:36 · 中国 广西 来宾 电信
初级用户
★
积分 85 发帖 39 注册 2007-06-28 22:22 19年会员 UID 92624 性别 男
状态 离线
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 楼
发表于 2007-07-13 00:41 · 中国 广西 来宾 电信
初级用户
★
积分 85 发帖 39 注册 2007-06-28 22:22 19年会员 UID 92624 性别 男
状态 离线
Originally posted by bjsh at 2007-7-12 02:12 AM:
findstr /n delims=:
判断第一个域的值是否为指定行 ; 输出
谢谢,我的本意是指定跳过n行,读取1行就跳出for循环,是不是到bat文件中运行就可以了?
我先试试看
第 7 楼
发表于 2007-07-13 00:41 · 中国 浙江 杭州 华数宽带
银牌会员
★★★
积分 2,000 发帖 621 注册 2007-01-01 00:00 19年会员 UID 75212 性别 男
状态 离线
eof
end of file
cmd中 无所谓 end of file
第 8 楼
发表于 2007-07-13 00:49 · 中国 浙江 杭州 华数宽带
银牌会员
★★★
积分 2,000 发帖 621 注册 2007-01-01 00:00 19年会员 UID 75212 性别 男
状态 离线
指定跳过n行,读取1行
不还是输出 指定的 某一行....
比如取某文本文件第四行
for /f "tokens=1,2* delims=:" %%i in ('findstr /n .* test.txt') do if %%i==4 echo %%j
第 9 楼
发表于 2007-07-13 01:15 · 中国 广西 来宾 电信
初级用户
★
积分 85 发帖 39 注册 2007-06-28 22:22 19年会员 UID 92624 性别 男
状态 离线
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学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正