中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-06 14:29
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 读取注册表键值问题 查看 857 回复 5
楼 主 读取注册表键值问题 发表于 2007-11-20 23:04 ·  中国 浙江 杭州 电信
初级用户
积分 21
发帖 10
注册 2007-11-20 22:37
18年会员
UID 103273
性别 男
状态 离线
@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"啊?
怎么解决呢~~谢谢各位!
2 发表于 2007-11-20 23:17 ·  中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493
发帖 2,315
注册 2006-05-01 10:41
20年会员
UID 54766
性别 男
来自 上海
状态 离线
代码本身没问题,是你复制出错了,每行未显示部分多了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
第一高手 第二高手

3 发表于 2007-11-20 23:37 ·  中国 浙江 杭州 电信
初级用户
积分 21
发帖 10
注册 2007-11-20 22:37
18年会员
UID 103273
性别 男
状态 离线
真晕,是复制时多带了几个空格。-_-!

谢谢fastslz~~ ^_^
4 发表于 2007-11-20 23:40 ·  中国 浙江 杭州 电信
初级用户
积分 21
发帖 10
注册 2007-11-20 22:37
18年会员
UID 103273
性别 男
状态 离线
再问个问题:
我想枚举注册表某项下所有键,即一个个读过去,怎么弄啊?我不太会写For~

谢谢了~~~
5 发表于 2007-11-20 23:55 ·  中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493
发帖 2,315
注册 2006-05-01 10:41
20年会员
UID 54766
性别 男
来自 上海
状态 离线
读注册表也只能用for一个个读,而注册表键值不一所以for参数也会改变,没有通用遍历读取格式。所以....
第一高手 第二高手

6 发表于 2007-11-21 00:07 ·  中国 浙江 杭州 电信
初级用户
积分 21
发帖 10
注册 2007-11-20 22:37
18年会员
UID 103273
性别 男
状态 离线
所以要用 WMI or WSH?……O_o

[ Last edited by longmarchw on 2007-11-21 at 12:09 AM ]
论坛跳转: