标题: [注册表类] 如何对比两个reg文件? [打印本页]
作者: 282842712474 时间: 2008-8-12 15:29 标题: 如何对比两个reg文件?
并且把不同部分生成第三个文件
(注:由于注册表不同于一般文本格式,因此一般文本的判别是无法使用的)
作者: pusofalse 时间: 2008-8-12 15:33
reg也是记事本格式的一种。
fc 1.reg 2.re2>3.reg
作者: 282842712474 时间: 2008-8-12 15:45
不行的,我把注册表给你,请你看看
其中1.reg有的,2.reg一定有
作者: batman 时间: 2008-8-12 15:46
- findstr /v /g:2.reg 1.reg>3.reg
复制代码
[ 本帖最后由 batman 于 2008-8-12 15:48 编辑 ]
作者: 282842712474 时间: 2008-8-12 15:47
reg是unicode格式的
作者: 282842712474 时间: 2008-8-12 15:49
原帖由 batman 于 2008-8-12 15:46 发表
findstr /v /g:2.reg 1.reg>3.reg
FINDSTR: 搜索字符串太长。
请按任意键继续. . .
请按照我提供的注册表来测试
作者: batman 时间: 2008-8-12 16:16
建议楼主先将两个reg文件转成txt文件,然后运行如下代码:- @echo off
- for /f "delims=" %%i in (1.txt) do set "_%%i=a"
- for /f "delims=" %%i in (2.txt) do if not defined _%%i echo %%i>>3.txt
- start 3.txt
复制代码
9M多的文件,等待的时间是很长的。。。
[ 本帖最后由 batman 于 2008-8-12 16:17 编辑 ]
作者: 282842712474 时间: 2008-8-12 16:33
我已经通过第三方软件完成比较,但是软件生成的比较文件中含有一些分界符号等信息,这些都是我不需要的,能否用bat帮我去掉?
例如删除
!>
-----------------------------
=======
等内容
但注意不要删除单个=和[ ]
作者: batman 时间: 2008-8-12 16:39
再用软件就是的。。。这里只研究批。。。
作者: 282842712474 时间: 2008-8-12 16:47
软件也是命令行的
这时我已经变成了用bat进行文本加工,依然是bat亚
还有你的脚本运行也不成功
作者: batman 时间: 2008-8-12 16:52
原帖由 282842712474 于 2008-8-12 16:47 发表
还有你的脚本运行也不成功
不知道你是怎么测试的,下面是我测试后生成的3.txt
我在你发的另一个贴子里就指出了你左改右改的毛病,在本贴里还是这样。。。
作者: pusofalse 时间: 2008-8-12 17:02
楼主先把3.txt改为ansi编码格式。然后运行下面代码- @echo off
- ren 3.txt 4.txt
- for /f "delims=" %%a in (4.txt) do (
- set "str=%%a"
- call set "str=%%str:!^>=%%"
- call,set "str=%%str:-----------------------------=%%"
- call,echo.%%str%%
- )>>3.txt
- pause
复制代码
作者: 282842712474 时间: 2008-8-12 20:35
怎样改为改为ansi编码格式
作者: Batcher 时间: 2008-8-12 21:24 标题: 回复 13楼 的帖子
type的输出结果是ANSI格式
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |