在使用 findstr 找中文字符的时候,单个参数没有问题,但如果有多个搜索内容,就不能正常工作了。
加上开关 /i 或者 /r 之后就正确了,可能是在查找多个中文字符串的时候的一个BUG吧


举例如下
C:\>ipconfig | findstr "IPv4 网关"
   IPv4 地址 . . . . . . . . . . . . : 10.96.xx.xx
   IPv4 地址 . . . . . . . . . . . . : 10.96.xx.xx
   IPv4 地址 . . . . . . . . . . . . : 172.16.xx.xx

网关并没有被列出来
C:\>ipconfig | findstr -i "IPv4 网关"
   IPv4 地址 . . . . . . . . . . . . : 10.96.xx.xx
   默认网关. . . . . . . . . . . . . : ::
   IPv4 地址 . . . . . . . . . . . . : 10.96.xx.xx
   默认网关. . . . . . . . . . . . . : 10.96.xx.xx
   IPv4 地址 . . . . . . . . . . . . : 172.16.xx.xx
   默认网关. . . . . . . . . . . . . : 172.16.xx.xx

根据findstr /? 的信息
/i 指定搜索不分大小写
    这个字面意思好理解,但不知道和中文关键字有几毛钱的关系
/r 将搜索字符串作为一般表达式使用
    目前的理解是为了在存在/c开关的情况下使用通配符,不知道还有没有其他作用

微软的命令行真是让人捉急啊~