中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-26 16:54
47,812 主题排行 / 349,911 发帖 / 今日 1 篇 / 48,264 会员排行
其它操作系统综合讨论区 » Windows 2003下Findstr命令的一个bug
可打印版本  886 / 2
第1楼 Climbing 发表于 2006-04-26 12:13
铂金会员 发帖 2,753 积分 6,962 来自 河北保定
Windows 2003下Findstr命令的一个bug
为了给系统内的某个应用软件实现自动升级,需要从注册表中查询其安装目录,由于findstr支持正则表达式,因此打算使用findstr来完成这个任务,先用reg export命令导出对应的注册表项到一个文件中,但使用findstr直接查询这个文件,无论如何查询不到任何东西。

当时百思不得其解,后来发现reg export导出的注册表跟用regedit默认导出的注册表文件一样,都是Unicode编码,才想到有可能是Findstr不支持Unicode,于是将文件转成ANSI编码,果然恢复了正常。

后来发现,用“type Unicode文件 | findstr...”的形式也能正常工作。

同样是微软做的东西,type支持unicode,findstr却不支持,鄙视微软一下!
第2楼 JonePeng 发表于 2006-05-01 00:16
金牌会员 发帖 1,883 积分 4,562 来自 广东广州
照这么说 findstr 就像16位DOS应用程序那样只支持 ANSI 了?
第3楼 Wengier 发表于 2006-05-01 06:23
系统支持 发帖 10,521 积分 27,736
findstr大概就跟普通的文件内容查找工具一样只能实现精确查找(即精确判断该文件中有没有此字符),而未通过Unicode转换故不支持Unicode查找吧。而type则纯粹是显示文件内容,所以可以对文件先做代码页转换后再显示出来。
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023