中国DOS联盟论坛

中国DOS联盟

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

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

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




积分 622
发帖 214
注册 2006-9-22
状态 离线
『楼 主』:  求一批处理从文本文件里提取字符

现在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 楼』:  

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 楼』:  

楼上的不要想当然,要亲自试才行的,要那么容易我就不发贴了.
你写的只会得到第一个变量就了事了,那第一个变量还不是我想要的以.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 楼』:  


@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 楼』:  



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

你试过没有?

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




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 6 楼』:  

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



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




积分 622
发帖 214
注册 2006-9-22
状态 离线
『第 7 楼』:  

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



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




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 8 楼』:  

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



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




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 9 楼』:  



  Quote:
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 楼』:  

回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 楼』:  

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

[ 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 楼』:  

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



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




积分 622
发帖 214
注册 2006-9-22
状态 离线
『第 13 楼』:  

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



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





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 14 楼』:  

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

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




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 15 楼』:  

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



三人行,必有吾师焉。   学然后知不足,教然后知困,然后能自强也。
2006-12-26 05:11
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: