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

[系统相关] 批处理怎样判断IE版本?

[复制链接]
发表于 2013-4-6 14:35:07 | 显示全部楼层 |阅读模式
先前有批處理能夠判斷IE版本,但自從IE10、IE11開始便會判斷成IE9
請高手幫幫忙解決,謝謝
  1. for /f "skip=2 delims=." %%i in ('reg query "HKLM\SOFTWARE\Microsoft\Internet Explorer" /v Version') do set a=%%i
  2. set b=%a:~-1%
  3. echo %b%
复制代码
发表于 2013-4-28 05:57:51 | 显示全部楼层
  1. @echo off
  2. for /f "delims=." %%i in ('wmic datafile where name^="C:\\Program Files\\Internet Explorer\\IEXPLORE.EXE" get Version ^|findstr /i /c:"."') do echo IE Version:%%i
  3. pause>nul
复制代码
发表于 2013-4-28 10:47:22 | 显示全部楼层
IE9以上的还需要判断 svcVersion
Note  The version string value for Internet Explorer 10 is 9.10.9200.16384, and the svcVersion string value is 10.0.9200.16384.

你可以查看微软建议的判断方法
http://support.microsoft.com/kb/969393
 楼主| 发表于 2013-5-3 17:04:09 | 显示全部楼层
回复 2# andyrave


這個方式的確也可行,謝謝您!

但還是希望能用判斷註冊表的方式,不知道有沒有辦法?
发表于 2013-5-3 17:57:36 | 显示全部楼层
回复 4# 飛雪
  1. reg query "HKLM\SOFTWARE\Microsoft\Internet Explorer" /v Version
复制代码
你找个IE10/11的系统运行这个命令把结果贴出来看看
发表于 2013-5-4 17:37:55 | 显示全部楼层
回复 4# 飛雪


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer
    Version    REG_SZ    9.10.9200.16384


注册表 截取第二数字段 要判断是0 还是10 还是11 又要多写一段东西

wmic 系统自带服务  代码越简单越好
 楼主| 发表于 2013-5-5 00:17:20 | 显示全部楼层
回复 6# andyrave


如果大師方便的話,還是麻煩您幫個小忙

拜託了!
发表于 2013-5-5 01:49:56 | 显示全部楼层
回复 7# 飛雪

不敢称大师  大家交流一下

晚了 加了点东西 如有不足 勿怪
  1. @echo off
  2. for /f "skip=2 tokens=3 delims= " %%i in ('reg query "HKLM\SOFTWARE\Microsoft\Internet Explorer" /v Version') do set a=%%i
  3. set b=%a:~0,1%
  4. set c=%a:~2,1%
  5. set d=%a:~2,2%
  6. if %b% LSS 9 (echo IE Version:%b%&&pause>nul&&exit) else goto next
  7. :next
  8. if %c% EQU 0 (echo IE Version:%b%&&pause>nul&&exit) else goto next
  9. :next
  10. echo IE Version:%d%
  11. pause>nul
复制代码
 楼主| 发表于 2013-5-5 06:56:06 | 显示全部楼层
回复 8# andyrave


謝謝您,可以正常判斷 ie10;ie11兩位數
但單位數的ie6、7、8;9則不行
发表于 2013-5-5 11:14:24 | 显示全部楼层
回复 9# 飛雪

用的是win8 没有ie 7 8 9可测试

ie版本号借用http://support.microsoft.com/kb/969393 测试

取了 7 8 9的版本号 测试正确

你手上有 7 8 9 ie的话

分别 用代码 把版本号复制上来看看
  1. for /f "skip=2 tokens=3 delims= " %%i in ('reg query "HKLM\SOFTWARE\Microsoft\Internet Explorer" /v Version') do echo %%i
复制代码
 楼主| 发表于 2013-5-5 11:36:31 | 显示全部楼层
本帖最后由 飛雪 于 2013-5-5 12:33 编辑

IE6、7、8在XP下不顯示任何版本

IE8顯示: 8.0.7601.17514
IE9顯示: 9.0.8112.16421
IE10顯示: 9.10.9200.16540

值得注意的是,在XP底下無法顯示IE所有版本,但在 WIN7底下卻可以正確顯示IE8、9、10
发表于 2013-5-5 20:21:47 | 显示全部楼层
回复 11# 飛雪


    IE6、7、8在XP下不顯示任何版本

手上没有xp系统可测试 注册表可能和nt6的不一样 那就要先判断系统版本 找到注册表项 再截取ie版本

:) :)
 楼主| 发表于 2013-5-9 19:30:20 | 显示全部楼层
回复 12# andyrave


XP的,請參考

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer]
"Build"="86001"
"Version"="8.0.6001.18702"
"W2kVersion"="8.0.6001.18702"
@=""
"IntegratedBrowser"=dword:00000001
"MkEnabled"="Yes"
"No3DBorder"=dword:00000000
"SmartDithering"=dword:00000001
"PhishingFilter"=dword:00000002
"DownloadUI"="{802F530B-A8F6-4631-AE49-6BACAAC6373E}"
发表于 2013-5-9 22:15:00 | 显示全部楼层
或许可以这样?
  1. @echo off&setlocal enabledelayedexpansion
  2. set reg=reg query "HKLM\SOFTWARE\Microsoft\Internet Explorer"
  3. for %%i in (svcVersion Version) do (
  4.    for /f "delims=" %%a in ('%reg% /v %%i 2^>nul^|find /i "%%i"') do (
  5.       set "str=%%a"
  6.       for /f "delims=." %%b in ("!str:*reg_sz=!") do set /a v=%%b
  7.    )
  8.    if defined v echo !v!&pause&goto :eof
  9. )
复制代码
 楼主| 发表于 2013-5-9 23:27:25 | 显示全部楼层
回复 14# apang


謝謝您,XP底下也可以正常判斷了!!!

但如果還想延伸下去該如何做?

例如判斷是IE6,想要 goto ie6
繼續運行想在ie6做的動作
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 18:34 , Processed in 0.031331 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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