中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求一批处理从文本文件里提取字符
English/Chinese Fix Translation
作者:
标题: 求一批处理从文本文件里提取字符 上一主题 | 下一主题
tianzizhi
高级用户




积分 622
发帖 214
注册 2006-9-22
状态 离线
『楼 主』:  求一批处理从文本文件里提取字符 使用 LLM 解释/回答一下

现在www.txt文件内容如下,我想用一批处理从www.txt里提取以.htm结尾的网页名,如:
200104174738.htm
200104174772.htm
200104174786.htm
然后放到zhang.txt文件里,请问如何实现,谢谢,不要用第三方工具的.

原始文件在这:www.txt


2002年1月23日 3:26 6031 200104174738.htm 2002年1月23日 3:26

5553 200104174772.htm 2002年1月23日 3:26 5155 200104174773.htm

2002年1月23日 3:26 7634 200104174781.htm 2002年1月23日

3:26 5180 200104174786.htm 2002年1月23日 3:26 6658

200104174834.htm 2002年1月23日 3:26 6351 200104174883.htm

2002年1月23日 3:26 4249 200104174897.htm 2002年1月23日 3:26

4207 200104174907.htm 2002年1月23日 3:26 7199 200104174931.htm

2002年1月23日 3:26 6346 200104174932.htm 2002年1月23日

3:26 8475 200104174943.htm 2002年1月23日 3:26 5321

200104174954.htm 2002年1月23日 3:26 5831 200104174977.htm

2002年1月23日 3:26 6150 200104174978.htm 2002年1月23日 3:26

10850 200104175018.htm 2002年1月23日 3:26 7552 200104175037.htm

2002年1月23日 3:26 7879 200104175047.htm 2002年1月23日

3:26 5086 200104175054.htm 2002年1月23日 3:26 6753

200104175055.htm 2002年1月23日 3:26 3925 200104175079.htm

2002年1月23日 3:26 5588 200104175081.htm 2002年1月23日 3:26

5237 200104175082.htm 2002年1月23日 3:26 5881 200104175130.htm

2002年1月23日 3:26 5047 200104175170.htm 2002年1月23日

3:26 5423 200104175225.htm 2002年1月23日 3:26 6273

200104175226.htm 2002年1月23日 3:26 8096 200104175235.htm

2002年1月23日 3:26 5479 200104175256.htm 2002年1月23日 3:26

6392 200104175257.htm 2002年1月23日 3:26 10924 200104175258.htm

2002年1月23日 3:26 5758 200104175259.htm 2002年1月23日

3:26 6058 200104175276.htm 2002年1月23日 3:26 3535

200104175288.htm 2002年1月23日 3:26 5297 200104175333.htm

2002年1月23日 3:26 6738 200104175361.htm 2002年1月23日 3:26

8533 200104175366.htm 2002年1月23日 3:26 7232 200104175370.htm

2002年1月23日 3:26 6548 200104175382.htm 2002年1月23日

3:26 7091 200104175391.htm 2002年1月23日 3:26 4415

200104175400.htm 2002年1月23日 3:26 5165 200104175411.htm

2002年1月23日 3:26 7801 200104175412.htm 2002年1月23日 3:26

3750 200104175431.htm 2002年1月23日 3:26 4553 200104175432.htm

2002年1月23日 3:26 7356 200104175457.htm 2002年1月23日

3:26 5534 200104175488.htm 2002年1月23日 3:26 5488

200104175506.htm 2002年1月23日 3:26 8817 200104175516.htm

2002年1月23日 3:26 5239 200104175573.htm 2002年1月23日 3:26

8497 200104175634.htm 2002年1月23日 3:26 12113 200104175653.htm

2002年1月23日 3:26 5094 200104175661.htm 2002年1月23日

3:26 8138 200104175690.htm 2002年1月23日 3:26 4387

200104175707.htm 2002年1月23日 3:26 3770 200104175732.htm

2002年1月23日 3:26 5334 200104175733.htm 2002年1月23日 3:26

6303 200104175744.htm 2002年1月23日 3:26 7621 200104175745.htm

2002年1月23日 3:26 5329 200104175746.htm 2002年1月23日

3:26 6310 200104175789.htm 2002年1月23日 3:26 4983

200104175808.htm 2002年1月23日 3:26 6183 200104175815.htm

2002年1月23日 3:26 6465 200104175835.htm 2002年1月23日 3:26

6460 200104175849.htm 2002年1月23日 3:26 7387 200104175858.htm

2002年1月23日 3:26 6035 200104175862.htm 2002年1月23日

3:26 5212 200104175872.htm 2002年1月23日 3:26 7749

200104175897.htm 2002年1月23日 3:26 8160 200104175910.htm

2002年1月23日 3:26 4545 200104175933.htm 2002年1月23日 3:26

5628 200104175934.htm 2002年1月23日 3:26 3817 200104175981.htm

2002年1月23日 3:26 3085 200104175982.htm 2002年1月23日

3:26 8211 200104175983.htm 2002年1月23日 3:26 5113

200104176007.htm 2002年1月23日 3:26 4888 200104176012.htm

Last edited by tianzizhi on 2006-12-26 at 03:02 AM ]




QQ:419503077
2006-12-26 03:00
查看资料  发送邮件  发短消息  网志  OICQ (419503077)  编辑帖子  回复  引用回复
everest79
金牌会员

一叶枝头,万树皆春



积分 2564
发帖 1127
注册 2006-12-25
状态 离线
『第 2 楼』:   使用 LLM 解释/回答一下

for /f %i in (a.txt) do echo %i|findstr /e /i ".htm"&&echo %i>b.txt


2006-12-26 03:08
查看资料  发短消息  网志   编辑帖子  回复  引用回复
tianzizhi
高级用户




积分 622
发帖 214
注册 2006-9-22
状态 离线
『第 3 楼』:   使用 LLM 解释/回答一下

楼上的不要想当然,要亲自试才行的,要那么容易我就不发贴了.
你写的只会得到第一个变量就了事了,那第一个变量还不是我想要的以.htm结尾的网页名.不过还要谢谢你的热心帮助.

Last edited by tianzizhi on 2006-12-26 at 03:16 AM ]




QQ:419503077
2006-12-26 03:15
查看资料  发送邮件  发短消息  网志  OICQ (419503077)  编辑帖子  回复  引用回复
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 4 楼』:   使用 LLM 解释/回答一下

@echo off
for /f "tokens=1-5 delims= " %%i in (www.txt) do (
if "%%~xi"==".htm" (>>zhang.txt echo %%i)
if "%%~xj"==".htm" (>>zhang.txt echo %%j)
if "%%~xk"==".htm" (>>zhang.txt echo %%k)
if "%%~xl"==".htm" (>>zhang.txt echo %%l)
if "%%~xm"==".htm" (>>zhang.txt echo %%m)
)




三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
2006-12-26 03:29
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
everest79
金牌会员

一叶枝头,万树皆春



积分 2564
发帖 1127
注册 2006-12-25
状态 离线
『第 5 楼』:   使用 LLM 解释/回答一下

Originally posted by tianzizhi at 2006-12-25 02:15 PM:
楼上的不要想当然,要亲自试才行的,要那么容易我就不发贴了.
你写的只会得到第一个变量就了事了,那第一个变量还不是我想要的以.htm结尾的网页名. ...


你试过没有?


2006-12-26 03:38
查看资料  发短消息  网志   编辑帖子  回复  引用回复
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 6 楼』:   使用 LLM 解释/回答一下

惭愧!以为www.txt内容就是楼主贴出来的呢!
一看附件,哇!




三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
2006-12-26 03:39
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
tianzizhi
高级用户




积分 622
发帖 214
注册 2006-9-22
状态 离线
『第 7 楼』:   使用 LLM 解释/回答一下

ccwan兄的也不行,zhang.txt里只有一个网页名:200104174738.htm.
还请再改进,还有每行被空格隔开的不是固定的5个变量,有的是6个,有的是5个, 请用我的原始文件测试.




QQ:419503077
2006-12-26 03:41
查看资料  发送邮件  发短消息  网志  OICQ (419503077)  编辑帖子  回复  引用回复
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 8 楼』:   使用 LLM 解释/回答一下

楼上用了一个>,成功的话也只会保留最后一个,应该用>>




三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
2006-12-26 03:42
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 9 楼』:   使用 LLM 解释/回答一下

Originally posted by tianzizhi at 2006-12-26 03:41:
ccwan兄的也不行,zhang.txt里只有一个网页名:200104174738.htm.
还请再改进,还有每行被空格隔开的不是固定的5个变量,有的是6个,有的是5个, 请用我的原始文䠮..


不会吧?!我试过了,若依你一楼贴出来的内容(非附件),显示66个呢!




三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
2006-12-26 03:43
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
tianzizhi
高级用户




积分 622
发帖 214
注册 2006-9-22
状态 离线
『第 10 楼』:   使用 LLM 解释/回答一下

回everest79,我用你的试过了,只得到:2002年1月23日,这个.
你再认真分析一下你写的这句:for /f %i in (a.txt) do echo %i|findstr /e /i ".htm"&&echo %i>b.txt




QQ:419503077
2006-12-26 03:44
查看资料  发送邮件  发短消息  网志  OICQ (419503077)  编辑帖子  回复  引用回复
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 11 楼』:   使用 LLM 解释/回答一下

还有,你的附件内容不换行啊。好奇怪。无法正确读取。

Last edited by ccwan on 2006-12-26 at 03:48 AM ]




三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
2006-12-26 03:45
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 12 楼』:   使用 LLM 解释/回答一下

  www.txt 文本里可能没有任何回车,导致 for 语句无法处理如此长的行内容,楼主能不能发一个有回车的文本出来?




尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-12-26 03:49
查看资料  发短消息  网志   编辑帖子  回复  引用回复
tianzizhi
高级用户




积分 622
发帖 214
注册 2006-9-22
状态 离线
『第 13 楼』:   使用 LLM 解释/回答一下

难道真是没有回车惹的事,(这个错误还不容易发现啊),我是网页另存为.txt得到的www.txt,如果用过回车后可以解决此问题,那问题也就算解决了,谢谢大家了,呵呵..




QQ:419503077
2006-12-26 04:06
查看资料  发送邮件  发短消息  网志  OICQ (419503077)  编辑帖子  回复  引用回复
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 14 楼』:   使用 LLM 解释/回答一下

用三方工具到很好解决,呵呵,sed


2006-12-26 05:05
查看资料  发送邮件  访问主页  发短消息  网志   编辑帖子  回复  引用回复
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 15 楼』:   使用 LLM 解释/回答一下

还是请vkill写出代码来吧,有时间请教教我用sed,谢谢。




三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
2006-12-26 05:11
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: