Board logo

标题: dir命令的怪异!请高手指教1,2! [打印本页]

作者: cnorca     时间: 2008-8-21 15:10    标题: dir命令的怪异!请高手指教1,2!

随便建立一个目录吧XXX
然后用命令  dir /a/b xxx|finderstr  .  *
注意.和*之间必须有个空格

  Quote:
@@@@^C
C:\>dir /a/b xxx|findstr . *

看看出现了什么, 永远停不下来了, 无数个怪异字符显示出来。。。。

@@@@@@@@@@?
@@@@@@@@@@?
@@@@@@@@@@?




不知道这个现象如何解释?




随后我用了这样的一个命令

  Quote:
C:\>dir /a/b xxx|findstr . * >c:\mmr.txt && start mmr.txt
FINDSTR: 无法打开 pagefile.sys

C:\>dir mmr.txt
驱动器 C 中的卷没有标签。
卷的序列号是 F41D-A991

C:\ 的目录

2008-08-21  15:03         5,881,264 mmr.txt
               1 个文件      5,881,264 字节
               0 个目录  4,679,843,840 可用字节

mmr.txt打开直接假死
偶不明白怎么一下这个mmr.txt变的如此之大!!
???溢出问题?


难道那个 findstr . *这个.  *表示上一层目录下的所有文件, 因为存在pagefile.SYS太大的缘故么?

[ Last edited by cnorca on 2008-8-21 at 03:21 PM ]
作者: HAT     时间: 2008-8-21 15:25

findstr . *
你是不是误解了这个命令的意思?
这样写就是在当前目录下的所有文件中查找任意字符(不包括空字符或空行)
你看到的那些乱码可能是findstr在非文本文件(.exe .dll 等)中查找的结果
作者: cnorca     时间: 2008-8-21 15:33
应该是了, 可能是findstr处理前后参数优先级问题, 管道优先级小点
作者: lxmxn     时间: 2008-8-21 19:21
在findstr正则的时候最好把正则引号起来,少偷懒。