中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-03 23:29
48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » "小函数"读取文件指定的特定行(ReadLine2.bat)
可打印版本  3,132 / 5
第1楼 lxmxn 发表于 2007-03-20 03:34
版主 发帖 4,938 积分 11,386
"小函数"读取文件指定的特定行(ReadLine2.bat)

  在ReadLine.bat的基础上修改了一下,读取文件指定的特定行。

  使用方法也比较简单,在批处理中加上 "Call ReadLine2.bat <文件名> <读取行号>" 就可以了,例如:"Call ReadLine2 system.ini 11 5 7 9",可以读取system.ini文件的第5、7、9和11行,后面的行号不分先后大小顺序。但是效率不是很高,读取小文件还是可以的。

ReadLine2.bat
第2楼 baomaboy 发表于 2007-03-20 03:51
银牌会员 发帖 554 积分 1,513
收藏了。
第3楼 HUNRYBECKY 发表于 2007-03-20 21:33
银牌会员 发帖 442 积分 1,179
lxmxn斑竹怎么一贴发两个地方呀,为了管理方便,建议移到原来的ReadLine1.bat下.谢谢
第4楼 lxmxn 发表于 2007-03-20 23:17
版主 发帖 4,938 积分 11,386
Originally posted by HUNRYBECKY at 2007-3-20 08:33:
lxmxn斑竹怎么一贴发两个地方呀,为了管理方便,建议移到原来的ReadLine1.bat下.谢谢


  这个不叫“一贴发两个地方”吧?

  虽然都是用来读取文件指定行的,但是具体作用是不一样的。一个是读取连续行的,一个是读取特定行的,效果也不一样。
第5楼 29984365 发表于 2007-04-07 04:42
初级用户 发帖 15 积分 39
收下了! 谢谢
第6楼 z060053 发表于 2008-07-25 14:07
新手上路 发帖 2 积分 4
@echo off
setlocal EnableDelayedExpansion
set loop=0
set /a skipline=%2-1
for /f "tokens=1 skip=%skipline% delims=" %%a in (%1) do (
set /a loop=!loop!+1
if "!loop!" leq "%3" (echo %%a) else goto :eof
)
goto :eo
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023