[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理findstr /v /g对比文件为何出错?

利用/v /g: 可以对比两个文本的异同,现在我利用这两个参数在对比文本时出错:
1测试:reg query 导出注册表run项目
2测试:dir /a获得某个目录下全部文件名称
以上是标准文本的获取过程,当我再次运行获取需要对比文本后,因为没变化,那么对比应该没有结果才对,但是利用/v /g缺出现了错误显示:
1测试:文本全部内容
2.测试:以xy等开头“顺序”较靠后的文件

你不知道findstr以Bug超多而出名吗?

TOP

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>
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

xp用户表示没有影响:
  1. D:\批处理\test>call cmd
  2. Microsoft Windows XP [版本 5.1.2600]
  3. (C) 版权所有 1985-2001 Microsoft Corp.
  4. D:\批处理\test>dir /b %cd%>1.txt
  5. D:\批处理\test>dir /b %cd%>2.txt
  6. D:\批处理\test>findstr /v /g:1.txt 2.txt
  7. 2.txt
  8. D:\批处理\test>findstr /v /g:2.txt 1.txt
  9. D:\批处理\test>
复制代码
***共同提高***

TOP

楼主需要贴出实际运行代码。
findstr /v /g 使用中需要注意很多,例如:
1,查看被比较文件是否均为 ANSI 编码
2,是否存在 \ * . [] - 等 findstr 元字符
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

3# Batcher

4# batman

5# hanyeguxing



在本地我获取的是system32下文件名....额  文本的话有1M 就不再传上来占用空间了  可以自行测试


以下是run键值获取举例:


  1. C:\Program Files\Common Files\123.exe
  2. C:\Program Files\55 ss\11.exe -s -d
  3. C:\Program Files\ffc\st /start
  4. C:\Program Files\Common Files\mm.exe  -background
  5. D:\45 44\s.exe /0 /5 /3 /st
  6. D:\Program Files\工具\哈哈.exe
复制代码

TOP

有元字符时加/l也没用。还是findstr有问题,想支持正则表达式还要搞个阉割版、畸形版,搞出bug一堆

TOP

up看看有什么想法的~

TOP

返回列表