Board logo

标题: 读取注册表键值问题 [打印本页]

作者: longmarchw     时间: 2007-11-20 23:04    标题: 读取注册表键值问题
@echo off

FOR /F "skip=3 tokens=3" %%i IN ('@reg query "HKLM\Software\Microsoft\Internet Explorer" /v Version') DO @SET IEVER=%%i%

IF %IEVER% == "6.0.2900.2180" GOTO L_IE6

GOTO END

:L_IE6

echo "It is IE6!"

:END

echo "%IEVER%"




我是新手,这段代码,读出的%IEVER%怎么是"6.0.2900.2180 ",而不是"6.0.2900.2180"啊?
怎么解决呢~~谢谢各位!

作者: fastslz     时间: 2007-11-20 23:17
代码本身没问题,是你复制出错了,每行未显示部分多了4个空格

@echo off
FOR /F "skip=3 tokens=3" %%i IN ('@reg query "HKLM\Software\Microsoft\Internet Explorer" /v Version') DO @SET IEVER=%%i%
echo "%IEVER%"
IF %IEVER%=="6.0.2900.2180" (
echo "It is IE6!"
) else (
echo "It is IE7!"
)
pause

作者: longmarchw     时间: 2007-11-20 23:37
真晕,是复制时多带了几个空格。-_-!

谢谢fastslz~~ ^_^

作者: longmarchw     时间: 2007-11-20 23:40
再问个问题:
我想枚举注册表某项下所有键,即一个个读过去,怎么弄啊?我不太会写For~

谢谢了~~~

作者: fastslz     时间: 2007-11-20 23:55
读注册表也只能用for一个个读,而注册表键值不一所以for参数也会改变,没有通用遍历读取格式。所以....

作者: longmarchw     时间: 2007-11-21 00:07
所以要用 WMI or WSH?……O_o

Last edited by longmarchw on 2007-11-21 at 12:09 AM ]