中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 利用WMIC读取注册表 上一主题 | 下一主题
3742668
荣誉版主





积分 2013
发帖 718
注册 2006-2-18
状态 离线
『楼 主』:  利用WMIC读取注册表

好处是不用担心reg query中可能出现的“吃”中文字符的问题。
例:
@echo off
    for /f "tokens=*" %%i in ('wmic /namespace:\\root\default path stdregprov call GetStringValue hDefKey^=^^^&H80000002 sSubKeyName^="SOFTWARE\Microsoft\Windows\CurrentVersion" sValueName^="SM_ConfigureProgramsName"') do set %%i 2>nul
    echo %sValue %
    pause
goto :eof
读取的是HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion下的SM_ConfigureProgramsName的值。
由于涉及到更改命名空间,以及特殊字符的转义,再加上WMIC命令本身就比较复杂,所以代码看起来比较乱,简单地演示一下就好。
另外由于很少使用BAT了,所以未对上面的代码做严密测试,有BUG的朋友请在下面指出,以免以讹传讹。

2007-6-17 18:26
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ansipeter
中级用户

替身



积分 269
发帖 130
注册 2007-3-23
状态 离线
『第 2 楼』:  

此贴必定记下,就像为何要学WMIC一样,注册表这方面一定要掌握,请问3742668
版主一个问题,如果用WMIC命令在系统建立用户???这个已经苦恼我很久了,其实最开始想用LDAP名称空间来实现,不过最后终没有实现,还请赐教

2007-6-17 19:51
查看资料  发短消息 网志   编辑帖子  回复  引用回复
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 3 楼』:  

但 reg query 写法更明了

2007-6-17 20:02
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 4 楼』:  

继续学习WMIC

2007-6-17 21:05
查看资料  发短消息 网志   编辑帖子  回复  引用回复
dzwmy
新手上路





积分 10
发帖 5
注册 2007-6-14
状态 离线
『第 5 楼』:  

还是有一定的局限性

2007-6-29 09:25
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
stoneyu
初级用户





积分 53
发帖 24
注册 2007-6-15
状态 离线
『第 6 楼』:  好帖,学习了

好贴,学习了。

顶一个。

2007-6-30 11:10
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: