中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 求助:分析TXT文件的批处理 上一主题 | 下一主题
gene771771
初级用户





积分 105
发帖 77
注册 2006-11-9
来自 重庆
状态 离线
『楼 主』:  求助:分析TXT文件的批处理

请看,附件中的两个TXT文件,我要分析的就是这两个文件 第一个文件 由于包括了“租赁” 这个关键词,所以这个文件予以保留 第二个文件 由于不包括“租赁” 这个关键词,所以这个文件予以删除 我写了很久但是都没有分析出来,不知道怎么回事???:) [ Last edited by bjsh on 2007-7-31 at 10:09 AM ]


附件 1: 1.txt (2007-7-4 09:23, 4.77 K,下载次数: 16)
附件 2: 2.txt (2007-7-4 09:23, 4.01 K,下载次数: 11)
2007-7-4 09:23
查看资料  发送邮件  发短消息 网志  OICQ (280385115)  编辑帖子  回复  引用回复
ccwan
金牌会员




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

@echo off
for /f %%i in ('dir/b *.txt') do (
    findstr /c:"租赁" %%i>nul
    if errorlevel 1 del %%i
)


   此帖被 +2 点积分    点击查看详情   
评分人:【 gene771771 分数: +2  时间:2007-7-4 09:58




三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
2007-7-4 09:50
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
gene771771
初级用户





积分 105
发帖 77
注册 2006-11-9
来自 重庆
状态 离线
『第 3 楼』:  

谢谢!!!


2007-7-4 09:58
查看资料  发送邮件  发短消息 网志  OICQ (280385115)  编辑帖子  回复  引用回复
pcqq
新手上路





积分 18
发帖 11
注册 2006-6-7
状态 离线
『第 4 楼』:  

2楼的强,学习


2007-7-4 11:04
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
gene771771
初级用户





积分 105
发帖 77
注册 2006-11-9
来自 重庆
状态 离线
『第 5 楼』:  

根据你的代码,我写了如下代码 @echo off for /l %%a in (226,1,925) do ( cd /d H:\下载\筛选\xw%%a\Paper\pdf copy H:\下载\筛选\xw%%a\Paper\pdf\ml.htm ml.txt for /f %%i in ('dir/b *.txt') do ( findstr /c:"证券" %%i>nul if errorlevel 1 goto 2 ) goto 1 :2 for /f %%i in ('dir/b *.txt') do ( findstr /c:"银行" %%i>nul if errorlevel 1 goto 3 ) goto 1 :3 for /f %%i in ('dir/b *.txt') do ( findstr /c:"股市" %%i>nul if errorlevel 1 goto 4 ) goto 1 :4 for /f %%i in ('dir/b *.txt') do ( findstr /c:"信托" %%i>nul if errorlevel 1 goto 5 ) goto 1 :5 for /f %%i in ('dir/b *.txt') do ( findstr /c:"保险" %%i>nul if errorlevel 1 goto 6 ) goto 1 :6 for /f %%i in ('dir/b *.txt') do ( findstr /c:"经济" %%i>nul if errorlevel 1 goto 7 ) goto 1 :7 for /f %%i in ('dir/b *.txt') do ( findstr /c:"利率" %%i>nul if errorlevel 1 goto 8 ) goto 1 :8 for /f %%i in ('dir/b *.txt') do ( findstr /c:"汇率" %%i>nul if errorlevel 1 goto 9 ) goto 1 :9 for /f %%i in ('dir/b *.txt') do ( findstr /c:"贷款" %%i>nul if errorlevel 1 goto 10 ) goto 1 :10 for /f %%i in ('dir/b *.txt') do ( findstr /c:"公司" %%i>nul if errorlevel 1 goto 11 ) goto 1 :11 for /f %%i in ('dir/b *.txt') do ( findstr /c:"商业" %%i>nul if errorlevel 1 goto 12 ) goto 1 :12 for /f %%i in ('dir/b *.txt') do ( findstr /c:"服务业" %%i>nul if errorlevel 1 goto 13 ) goto 1 :13 for /f %%i in ('dir/b *.txt') do ( findstr /c:"资产" %%i>nul if errorlevel 1 goto 14 ) goto 1 :14 for /f %%i in ('dir/b *.txt') do ( findstr /c:"企业" %%i>nul if errorlevel 1 goto 15 ) goto 1 :15 for /f %%i in ('dir/b *.txt') do ( findstr /c:"货币" %%i>nul if errorlevel 1 goto 16 ) goto 1 :16 for /f %%i in ('dir/b *.txt') do ( findstr /c:"财政" %%i>nul if errorlevel 1 goto 17 ) goto 1 :17 for /f %%i in ('dir/b *.txt') do ( findstr /c:"债券" %%i>nul if errorlevel 1 goto 18 ) goto 1 :18 for /f %%i in ('dir/b *.txt') do ( findstr /c:"融资" %%i>nul if errorlevel 1 goto 19 ) goto 1 :19 for /f %%i in ('dir/b *.txt') do ( findstr /c:"股票" %%i>nul if errorlevel 1 goto 20 ) goto 1 :20 for /f %%i in ('dir/b *.txt') do ( findstr /c:"金融" %%i>nul if errorlevel 1 goto 21 ) goto 1 :21 for /f %%i in ('dir/b *.txt') do ( findstr /c:"储蓄" %%i>nul if errorlevel 1 goto 22 ) goto 1 :22 for /f %%i in ('dir/b *.txt') do ( findstr /c:"投资" %%i>nul if errorlevel 1 goto 23 ) goto 1 :23 for /f %%i in ('dir/b *.txt') do ( findstr /c:"管理" %%i>nul if errorlevel 1 goto 24 ) goto 1 :24 for /f %%i in ('dir/b *.txt') do ( findstr /c:"基金" %%i>nul if errorlevel 1 goto 25 ) goto 1 :25 for /f %%i in ('dir/b *.txt') do ( findstr /c:"租赁" %%i>nul if errorlevel 1 goto 26 ) goto 1 :26 rd /s /q H:\下载\筛选\xw%%a del /q /s /a H:\下载\筛选\xw%%a.zip echo 已删除! goto again :1 echo 已保存! ) 但是,运行以后,只能正常执行一次,就自动退出了,我不知道问题出在哪里,请指教。。。 如果不要最开始的FOR循环(226-925)程序可以正常运行,加上FOR循环以后,只能执行226这一个文件。。。 谢谢


2007-7-4 11:10
查看资料  发送邮件  发短消息 网志  OICQ (280385115)  编辑帖子  回复  引用回复
ThinKing
中级用户





积分 471
发帖 207
注册 2007-5-3
状态 离线
『第 6 楼』:  

貌似 for 命令内部的标签跳转无效。 你要达到什么目的呢?


2007-7-4 11:22
查看资料  发短消息 网志   编辑帖子  回复  引用回复
gene771771
初级用户





积分 105
发帖 77
注册 2006-11-9
来自 重庆
状态 离线
『第 7 楼』:  

在 H:\下载\筛选\ 里边有很多文件夹,每个都是用xw+数字来命名的, 现在以266为例 首先需要进入H:\下载\筛选\xw266\Paper\pdf 然后将文件 ml.htm 变成 ml.txt 然后继续分析文件是不是包含关键字,不包含删除,包含保存。 现在的问题是:如何自动循环进入文件夹(分析和处理文件的部分我测试了,虽然看起来很复杂,但是是没有问题的) for /l %%a in (226,1,925) do ( ... ) cd /d H:\下载\筛选\xw%%a\Paper\pdf copy H:\下载\筛选\xw%%a\Paper\pdf\ml.htm ml.txt [ Last edited by gene771771 on 2007-7-4 at 11:32 AM ]


2007-7-4 11:31
查看资料  发送邮件  发短消息 网志  OICQ (280385115)  编辑帖子  回复  引用回复
ThinKing
中级用户





积分 471
发帖 207
注册 2007-5-3
状态 离线
『第 8 楼』:  

for /L %%a in (226,1,925) do (
ren "H:\下载\筛选\xw%%a\Paper\pdf\ml.htm" ml.txt
findstr "urword" "H:\下载\筛选\xw%%a\Paper\pdf\ml.txt" >nul 2>nul || del "H:\下载\筛选\xw%%a\Paper\pdf\ml.txt"
)


2007-7-4 11:51
查看资料  发短消息 网志   编辑帖子  回复  引用回复
ccwan
金牌会员




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

我没有试验环境,不知具体情况,你的代码长度实在让我害怕^_^ 不过是否可以变相思考,例如: @echo off for /l %%a in (226,1,925) do cd /d H:\下载\筛选\xw%%a\Paper\pdf&&copy ml.htm ml.txt&&call :123 ml.txt :123 for /f %%i in (%1) do ( findstr /c:"**" %%i>nul....


   此帖被 +2 点积分    点击查看详情   
评分人:【 gene771771 分数: +2  时间:2007-7-4 21:06




三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
2007-7-4 11:52
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
gene771771
初级用户





积分 105
发帖 77
注册 2006-11-9
来自 重庆
状态 离线
『第 10 楼』:  

太感谢了,我测试一下。。。


2007-7-4 11:58
查看资料  发送邮件  发短消息 网志  OICQ (280385115)  编辑帖子  回复  引用回复
bjsh
银牌会员





积分 2000
发帖 621
注册 2007-1-1
状态 离线
『第 11 楼』:  

grep 一行代码 筛选出 不含关键字的文件名; for 来删除....


2007-7-4 12:42
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: