找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 22125|回复: 3

[文本处理] 如何循环查找A文件中的内容在B文件中是否存在?不存在的文件输出到另外一个文件中。

[复制链接]
发表于 2012-3-13 18:48:25 | 显示全部楼层 |阅读模式
请问如何循环查找A文件中的内容在B文件中是否存在?A文件中以JIRA-XX开始到空行结束,在B文件中搜索Message:下一行的内容等于JIRA-XX,且A中的代码行在B文件中----下面的代码行是否存在,
如果不存在就输出JIRA-XX和不存在的代码行,以空格行为一段落,循环搜索。

A文件格式:

JIRA-29
CRM\DB\crm\CEP_TERMINAL_SUBSIDY_LOCAL.pck    //a文件
CRM\BizHall\WebRoot\cust\custMergerQuery.js       //b文件
CRM\BizHall\WebRoot\cust\pagination.js                //c文件

JIRA-1154
CRM\BizHall\WebRoot\cust\custMergerQuery.jsp
CRM\BizHall\WebRoot\cust\custMergerQuery.js
CRM\BizHall\WebRoot\cust\pagination.js

B文件格式

Revision: 7139
Author: xiaoy
Date: 17:15:57, 2012年2月20日
Message:
JIRA-29
----
Modified : /trunk/CRM/DB/crm/CEP_TERMINAL_SUBSIDY_LOCAL.pck

Revision: 7125
Author: yy
Date: 16:47:10, 2012年2月20日
Message:
JIRA-1154
----
Modified : /trunk/CRM/BizHall/WebRoot/cust/pagination.js

我的设计思路是:A文件中以空行为段落(JIRA-XX和下面的代码行为一段落),在B中所搜Message:下一行的内容等于JIRA-XX的段落,
如果等于就检查B文件这段----下面的代码行是否存在A的第一个代码行a文件是否存在,如果a存在,就继续在B文件这段中搜索b文件,
直于B文件中这段以空行结束,然后接着在B文件后面段落搜索,至于文件结束,如果没有就输出JIRA-XX和不存在的代码行内容到new文件;
A文件以空行为结束标志进行循环。
鉴于自己是批处理脚本的菜鸟,有思路,但是写不出来,实在着急。在批处理脚本之家也搜索看了一些帖子,例如:请教批处理如何提取文件中某段文字并生成新文件?
但是里面的代码看的不是很懂,语句也不太会用,只会单条件的进行搜索匹配,所以只好在此发帖请教各位高人指教,先谢谢!
 楼主| 发表于 2012-3-14 11:21:00 | 显示全部楼层
麻烦各位帮帮忙看看!谢谢!
发表于 2012-3-15 12:22:47 | 显示全部楼层
本帖最后由 caruko 于 2012-3-15 12:28 编辑

建议
先 遍历 A文件,将每个 JIRA-XX 设置成变量名,变量的值就是文件名(如果需要很精确,可能还要考虑路径名)
如 set JIRA-29=CRM\DB\crm\CEP_TERMINAL_SUBSIDY_LOCAL.pck;CRM\BizHall\WebRoot\cust\custMergerQuery.js;CRM\BizHall\WebRoot\cust\pagination.js
如果文件没有空格,也可以用“空格 ," 做分隔符


然后在遍历 B 文件时,当找到JIRA-29时,就在接下来对比%JIRA-29%的内容,每找到一条对应的,就删除一条(可以是字符替换,也可以是这样循环,如 for %%i in ("%JIRA-29%") do .. )

最后剩下来的,就是没有的,也可以在遍历B时添加多余的。


也可以把每个文件作为变量,如
set CRM\DB\crm\CEP_TERMINAL_SUBSIDY_LOCAL.pck=JIRA-29
这样在遍历B时,当搜索到 message时,就
"
set 当前=JIRA-xx
"
接下来对比每个文件路径是否有相应的变量名,而且该变量的值=%当前%
 楼主| 发表于 2012-3-15 12:39:18 | 显示全部楼层
非常感谢!
这个思路是比我的简单多了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 18:33 , Processed in 0.011638 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表