Board logo

标题: 利用WMIC读取注册表 [打印本页]

作者: 3742668     时间: 2007-6-17 18:26    标题: 利用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的朋友请在下面指出,以免以讹传讹。
作者: ansipeter     时间: 2007-6-17 19:51
此贴必定记下,就像为何要学WMIC一样,注册表这方面一定要掌握,请问3742668
版主一个问题,如果用WMIC命令在系统建立用户???这个已经苦恼我很久了,其实最开始想用LDAP名称空间来实现,不过最后终没有实现,还请赐教
作者: vkill     时间: 2007-6-17 20:02
但 reg query 写法更明了
作者: HAT     时间: 2007-6-17 21:05
继续学习WMIC
作者: dzwmy     时间: 2007-6-29 09:25
还是有一定的局限性
作者: stoneyu     时间: 2007-6-30 11:10    标题: 好帖,学习了

好贴,学习了。

顶一个。