找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 29347|回复: 11

[已解决]批处理读取注册表内的IE版本并进行判断执行相应的命令

[复制链接]
发表于 2010-10-22 20:08:52 | 显示全部楼层 |阅读模式
如何使用批处理读取出注册表内的IE版本并进行判断执行相应的命令
1读取注册表值
2对比注册表值
3判断注册表值
4执行相应命令

这是我写的但是还有很多地方不知道怎么弄
set system = reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer

if "%system%"=="1" goto xpIE6
if "%system%"=="2" goto XPIE7
if "%system%"=="3" goto VISTA
if "%system%"=="4" goto kjfsxp
if "%system%"=="5" goto kjfsvista
if "%system%"=="6" goto office
if "%system%"=="7" goto dycj
if "%system%"=="q" goto quit

[ 本帖最后由 Skyfengluo 于 2010-10-24 21:18 编辑 ]

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2010-10-23 14:56:36 | 显示全部楼层
  1. @echo off
  2. for /f "skip=2 delims=" %%i in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer" /v Version') do set a=%%i
  3. set b=%a:~-13%
  4. echo %b%
  5. if "%b%"=="1" goto xpIE6
  6. if "%b%"=="2" goto XPIE7
  7. if "%b%"=="3" goto VISTA
  8. if "%b%"=="4" goto kjfsxp
  9. if "%b%"=="5" goto kjfsvista
  10. if "%b%"=="6" goto office
  11. if "%b%"=="7" goto dycj
  12. if "%b%"=="q" goto quit
  13. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2010-10-23 21:41:33 | 显示全部楼层
原帖由 leap 于 2010-10-23 14:56 发表
@echo off
for /f "skip=2 delims=" %%i in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer" /v Version') do set a=%%i
set b=%a:~-13%
echo %b%
if "%b%"=="1" goto xpIE6
if "%b%"= ...

大大 可以解释一下么?
发表于 2010-10-24 09:03:44 | 显示全部楼层
走过路过还看过——发那么多重复帖,什么都不懂怎么说——说不得说不得
发表于 2010-10-24 11:22:53 | 显示全部楼层

标题

查找注册表含version的项再读取数字
兵甲前辈,你知道为什么不说呢,消遣别人很有意思吗?不是来这里的人都是真心用心学的。
 楼主| 发表于 2010-10-24 13:53:54 | 显示全部楼层

回复 7楼 的帖子

lead前辈  昨天测试了 批出理貌似有点错误。。。运行达不到理想的效果,我用的WIN7的系统。。。  谢谢你的关注 呵呵。。
我现在想换一种方式来试试, 先读取注册表的值,写入到一个文本内,然后再判断文本内的字符进行判断来执行下面的命令。   不过正在测试 昨天晚上弄到凌晨2点也没弄出来。。呵呵 。。。。今天继续。。。 初学的菜鸟。。。请前辈多多指点。。。。

[ 本帖最后由 Skyfengluo 于 2010-10-24 13:58 编辑 ]
发表于 2010-10-24 14:01:08 | 显示全部楼层

8楼

你可以把echo %a%的结果贴出来吗?
 楼主| 发表于 2010-10-24 14:14:04 | 显示全部楼层

回复 9楼 的帖子

运行结果
C:\Users\jinhe\Desktop>echo .0.7600.16385
.0.7600.16385

C:\Users\jinhe\Desktop>if ".0.7600.16385" == "1" goto xpIE6

C:\Users\jinhe\Desktop>if ".0.7600.16385" == "2" goto XPIE7

C:\Users\jinhe\Desktop>if ".0.7600.16385" == "3" goto VISTA

C:\Users\jinhe\Desktop>if ".0.7600.16385" == "4" goto kjfsxp

C:\Users\jinhe\Desktop>if ".0.7600.16385" == "5" goto kjfsvista

C:\Users\jinhe\Desktop>if ".0.7600.16385" == "6" goto office

C:\Users\jinhe\Desktop>if ".0.7600.16385" == "7" goto dycj

C:\Users\jinhe\Desktop>if ".0.7600.16385" == "q" goto quit

C:\Users\jinhe\Desktop>echo     Version    REG_SZ    8.0.7600.16385
    Version    REG_SZ    8.0.7600.16385

C:\Users\jinhe\Desktop>pause


代码
for /f "skip=2 delims=" %%i in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer" /v Version') do set a=%%i
set b=%a:~-13%
echo %b%
if "%b%"=="1" goto xpIE6
if "%b%"=="2" goto XPIE7
if "%b%"=="3" goto VISTA
if "%b%"=="4" goto kjfsxp
if "%b%"=="5" goto kjfsvista
if "%b%"=="6" goto office
if "%b%"=="7" goto dycj
if "%b%"=="q" goto quit

echo %a%

pause
 楼主| 发表于 2010-10-24 21:21:08 | 显示全部楼层
最终解决代码     (这个批出理拿着改一改应该可以应用到很多地方哦。 这个是我看了for 命令从入门到精通后进行修改的,建议大家去看看哦!呵呵)

for /f "skip=2 delims=." %%i in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer" /v Version') do set a=%%i
这条命令中%a%的输出是

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer
    Version    REG_SZ    8.0.7600.16385

delims=." 是读取点前面的字符  这里可以根据你需要判断的对象进行修改

set b=%a:~-1% 是读取点前面的“一个”字符 这里1%是一个字符2%是2个字符 可以根据你的需要进行修改。

我这里只读取 "点"前面的一个字符  也就是8  然后进行IF判断 并执行相关命令。

感谢lead大大的支持。。。。。有你这样热心助人的大大我们这些“新人”“菜鸟”才会变成老鸟哦  呵呵

最终批处理
@echo off
for /f "skip=2 delims=." %%i in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer" /v Version') do set a=%%i
set b=%a:~-1%
echo %b%
if "%b%"=="6" goto IE6
if "%b%"=="7" goto IE7
if "%b%"=="8" goto IE8

:IE6
rem  这里在写针对不同版本IE的命令哦 呵呵
echo 这是ie6
pause

:IE7
echo 这是ie7
pause

:IE8
echo 这是ie8
pause

[ 本帖最后由 Skyfengluo 于 2010-10-24 22:05 编辑 ]
发表于 2010-10-24 22:02:59 | 显示全部楼层
不好意思在手机上网,我也是个菜鸟大家一起努力

[ 本帖最后由 leap 于 2010-10-24 22:06 编辑 ]
发表于 2013-1-12 22:55:31 | 显示全部楼层
回复 9# Skyfengluo


IE 10好像就會判斷成IE 9了...
发表于 2013-1-13 02:30:23 | 显示全部楼层
我记的BECHER说过一句话很经典,“论谈是大家的,要大家一起玩”,所以维护也需要大家,几个人也仅仅是途劳的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 00:25 , Processed in 0.023985 second(s), 12 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表