![]() |
中国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 |