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 ]