楼 主
"小函数"读取文件指定的特定行(ReadLine2.bat)
发表于 2007-03-20 03:34 · 中国 湖北 武汉 电信
版主
★★★★★
积分 11,386 发帖 4,938 注册 2006-07-23 17:10 UID 59080
状态 离线
在ReadLine.bat的基础上修改了一下,读取文件指定的特定行。
使用方法也比较简单,在批处理中加上 "Call ReadLine2.bat <文件名> <读取行号> " 就可以了,例如:"Call ReadLine2 system.ini 11 5 7 9",可以读取system.ini文件的第5、7、9和11行,后面的行号不分先后大小顺序。但是效率不是很高,读取小文件还是可以的。
ReadLine2.bat
@echo off&SetLocal ENABLEDELAYEDEXPANSION
:::::::::::ReadLine2.Bat::::::::::::::::::
if "%1"=="" (goto --help) else (set file=%1)
if not exist %file% goto :eof
if "%2"=="" (
for /f "tokens=1* delims=:" %%a in ('findstr /n .* "%file%"') do echo/%%b
goto :eof
) else (
set args=%*
for %%a in (!args!) do (
if not "%%a"=="%1" (for /f "tokens=1* delims=:" %%b in ('findstr /n .* "%file%"') do (
if "%%b"=="%%a" echo/%%c)
)
)
)
goto :eof
:--help
echo/======================================
echo/本程序段需要带参数才能正常运行
echo/&echo/Usage:&echo/Call ReadLine2 ^<文件名^> ^<读取行号^>
echo/&echo/例如:Call ReadLine2 aa.txt 5 7 11 ,将读取aa.txt文件的第5,7,11行
echo/&echo/如果^<读取行号^>没有指定,将读取整个文件的内容
echo/======================================
goto :eof
第 2 楼
发表于 2007-03-20 03:51 · 中国 河北 保定 联通
银牌会员
★★★
积分 1,513 发帖 554 注册 2005-12-30 00:50 UID 48180 性别 男
状态 离线
第 3 楼
发表于 2007-03-20 21:33 · 中国 广东 东莞 电信
银牌会员
★★★
积分 1,179 发帖 442 注册 2006-09-09 22:47 UID 62249
状态 离线
lxmxn斑竹怎么一贴发两个地方呀,为了管理方便,建议移到原来的ReadLine1.bat下.谢谢
第 4 楼
发表于 2007-03-20 23:17 · 中国 湖北 武汉 电信
版主
★★★★★
积分 11,386 发帖 4,938 注册 2006-07-23 17:10 UID 59080
状态 离线
Originally posted by HUNRYBECKY at 2007-3-20 08:33:
lxmxn斑竹怎么一贴发两个地方呀,为了管理方便,建议移到原来的ReadLine1.bat下.谢谢
这个不叫“一贴发两个地方”吧?
虽然都是用来读取文件指定行的,但是具体作用是不一样的。一个是读取连续行的,一个是读取特定行的,效果也不一样。
第 5 楼
发表于 2007-04-07 04:42 · 中国 浙江 杭州 电信
初级用户
★
积分 39 发帖 15 注册 2007-04-04 04:40 UID 83902 性别 男
状态 离线
第 6 楼
发表于 2008-07-25 14:07 · 中国 河南 洛阳 联通
新手上路
★
积分 4 发帖 2 注册 2008-07-25 08:31 UID 122050 性别 男
状态 离线
@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学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正