在我详细介绍之前,我想强调一个事实,即使用PowerShell不是一个选择,因为脚本应该在可能没有PowerShell的机器上运行。
我需要检查安装在Windows机器上的Internet Explorer版本,并根据其版本采取行动。
到目前为止,我的批处理脚本看起来像这样:
@echo off
setlocal
for /f "tokens=*" %%a in ( 'reg query "HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer" /v Version' ) do ( set IEVerReg=%%a )
endlocal
正如您所看到的,我正在将
reg query
输出分配给IEVarReg变量。在不同的Windows版本中,输出是不同的,例如:
Windows XP:
! REG.EXE VERSION 3.0
HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer
Version REG_SZ 8.0.6001.18702
Windows 7:
HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer
Version REG_SZ 9.0.8112.16421
理想情况下,我希望能够获取版本号的第一个数字,并执行以下操作:
if
version == 8
then
execute this
elseif
version == 9
then
execute that
我相信一旦我得到版本号,就能够解决
if
部分的问题,但是我无法弄清楚如何获取版本号。我可以轻松地在bash、perl等中完成它,但对于Windows命令行却毫无头绪。非常感谢您的帮助。
附注:我看过Jerold Schulman的脚本,但它返回整个版本号,这对我来说太多了。