通常,当我在批处理文件中搜索注册表值时,我按如下方式进行设置:
set regpath="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer"
set regvalue=svcVersion
set regdata=11.0.9600.17207
reg query "%regpath%" /v "%regvalue%" | find /i "%regdata%"
if errorlevel 1 goto ie11
if errorlevel 0 goto noinstall
在这个测试中,我正在检查Internet Explorer 11.如果它只是寻找上面指定的特定版本但是如果IE 11有任何更新那么上面的值会更高修订。有没有办法让它搜索是否大于或等于而不是等于?
我看到了#34; GEQ"但这将是比较两个值,我只是搜索可能至少为11.0.9600.17207的值,但也可能高于该值。谢谢。
答案 0 :(得分:0)
这似乎更像是一个命令shell问题而不是IE问题。 : - )
您可能已经在使用正确的构造。根据Technet上的IF reference page的XP版本,当“由Cmd.exe运行的前一个程序返回[s]退出代码等于或大于数字时,errorlevel返回true”。
command-line reference的最新版本缺少某种特定语言,但如果基础行为发生变化,我会感到非常惊讶。
即使它有,你也应该能够使用逻辑比较运算符。这两个页面都包含显示支持的运算符的表,以及将逻辑运算符与errorlevel组合在一起的示例。
希望这会有所帮助......
- Lance