标题: [文本处理] 批处理findstr /v /g对比文件为何出错? [打印本页]
作者: bluewing009 时间: 2011-4-30 14:56 标题: 批处理findstr /v /g对比文件为何出错?
利用/v /g: 可以对比两个文本的异同,现在我利用这两个参数在对比文本时出错:
1测试:reg query 导出注册表run项目
2测试:dir /a获得某个目录下全部文件名称
以上是标准文本的获取过程,当我再次运行获取需要对比文本后,因为没变化,那么对比应该没有结果才对,但是利用/v /g缺出现了错误显示:
1测试:文本全部内容
2.测试:以xy等开头“顺序”较靠后的文件
作者: powerbat 时间: 2011-4-30 15:17
你不知道findstr以Bug超多而出名吗?
作者: Batcher 时间: 2011-4-30 15:23
Vista用户表示影响不大
C:\Test>dir /b MyFolder >a.txt
C:\Test>dir /b MyFolder >b.txt
C:\Test>findstr /v /g:a.txt b.txt
C:\Test>findstr /v /g:b.txt a.txt
C:\Test>
|
作者: batman 时间: 2011-4-30 15:31
xp用户表示没有影响:- D:\批处理\test>call cmd
- Microsoft Windows XP [版本 5.1.2600]
- (C) 版权所有 1985-2001 Microsoft Corp.
-
- D:\批处理\test>dir /b %cd%>1.txt
-
- D:\批处理\test>dir /b %cd%>2.txt
-
- D:\批处理\test>findstr /v /g:1.txt 2.txt
- 2.txt
-
- D:\批处理\test>findstr /v /g:2.txt 1.txt
-
- D:\批处理\test>
复制代码
作者: hanyeguxing 时间: 2011-4-30 21:17
楼主需要贴出实际运行代码。
findstr /v /g 使用中需要注意很多,例如:
1,查看被比较文件是否均为 ANSI 编码
2,是否存在 \ * . [] - 等 findstr 元字符
作者: bluewing009 时间: 2011-4-30 23:50
3# Batcher 4# batman
5# hanyeguxing
在本地我获取的是system32下文件名....额 文本的话有1M 就不再传上来占用空间了 可以自行测试
以下是run键值获取举例:
- C:\Program Files\Common Files\123.exe
- C:\Program Files\55 ss\11.exe -s -d
- C:\Program Files\ffc\st /start
- C:\Program Files\Common Files\mm.exe -background
- D:\45 44\s.exe /0 /5 /3 /st
- D:\Program Files\工具\哈哈.exe
复制代码
作者: powerbat 时间: 2011-5-1 09:34
有元字符时加/l也没用。还是findstr有问题,想支持正则表达式还要搞个阉割版、畸形版,搞出bug一堆
作者: bluewing009 时间: 2011-5-1 20:43
up看看有什么想法的~
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |