中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-11 03:34
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 逐行读取文本内容脚本 查看 1,132 回复 4
楼 主 逐行读取文本内容脚本 发表于 2008-12-28 16:12 ·  中国 浙江 宁波 电信
初级用户
积分 82
发帖 30
注册 2007-07-03 13:55
19年会员
UID 93029
性别 男
状态 离线
findstr /v /i /n "fff" 视频网址.txt >>2.txt

rem 读取上次转换第几行
for /F "tokens=1* delims=:" %%a in ('type nowdownload.ini') do set nowdownload=%%a
for /f "tokens=1* delims=:" %%a in (2.txt) do SET MAXURL=%%a

if %MAXURL% LSS %nowdownload% goto :finish

if %nowdownload% LSS 10 goto :small

rem 提取指定行
findstr /i "%nowdownload%:" 2.txt >>b.txt
set /a nowdownload=%nowdownload%+1
echo %nowdownload% >nowdownload.ini
for /F "tokens=1* delims= " %%a in ('type nowdownload.ini') do echo %%a>nowdownload.ini
rem 去除行号
for /F "tokens=1* delims=:" %%a in ('type b.txt') do echo %%b>当前处理网址.txt
goto :end

:small
rem 去处10行以下的文本
for /f "tokens=1* delims=:" %%a in (2.txt) do if %%a LSS 10 echo %%a:%%b>>a.txt
rem 提取指定行
findstr /i "%nowdownload%:" a.txt >>3.txt
set /a nowdownload=%nowdownload%+1
echo %nowdownload% >nowdownload.ini
for /F "tokens=1* delims= " %%a in ('type nowdownload.ini') do echo %%a>nowdownload.ini
rem 去除行号
for /F "tokens=1* delims=:" %%a in ('type 3.txt') do echo %%b>当前处理网址.txt

:end
del 1.txt
del 2.txt
del 3.txt
del a.txt
del b.txt
exit

:finish
echo 0 >nowdownload.ini
for /F "tokens=1* delims= " %%a in ('type nowdownload.ini') do echo %%a>nowdownload.ini
del 1.txt
del 2.txt
----------------------------------------------
nowdownload.ini里保存当前的行数
支持1-99行 自己写的脚本
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
HAT +2 2008-12-28 20:32
2 发表于 2008-12-28 18:02 ·  中国 广东 广州 白云区 电信
初级用户
积分 28
发帖 14
注册 2008-12-24 22:30
17年会员
UID 134838
性别 男
状态 离线
如果在MS DOS7.1的环境下,以上的代码无法运行的, 因不支持 for /参数啊, 很的启动盘启动后进入的DOS多是MS DOS7.10的版本
3 发表于 2008-12-28 18:03 ·  中国 广东 广州 白云区 电信
初级用户
积分 28
发帖 14
注册 2008-12-24 22:30
17年会员
UID 134838
性别 男
状态 离线
如何计算一个文本文件有多少行,并把这个值给一个变量呢???????????
4 发表于 2008-12-28 20:07 ·  中国 湖北 武汉 电信
中级用户
★★
积分 247
发帖 83
注册 2005-09-12 12:06
20年会员
UID 42446
性别 男
状态 离线
Originally posted by kang2008 at 2008-12-28 18:03:
如何计算一个文本文件有多少行,并把这个值给一个变量呢???????????

for /f "tokens=3 delims= " %i in ('find /v /c "" test.txt') do set num=%i
5 发表于 2008-12-28 20:33 ·  中国 重庆 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
论坛跳转: