|
运行程序啊, OSver(strComputer)传递参数strComputer给Function OSver,获得返回字符串系统版本,X86orX64(strComputer)传递参数传递参数strComputer给Function X86orX64获得返回字符串"_x86"或者"_x64"。
你把这句前面加单引号注释掉,然后把上面的那一句的单引号删除,测试一下看看,会显示一个字符串,在不同的系统中,这个字符串是不一样的,这就是要运行的程序了。
你要运行的程序以 “系统版本”+"_x86/x64"+".exe"这样的规则命名,就可以实现根据系统不同运行不同的程序了。如果程序不方便改名等,可以用以上述规则命名的快捷方式实现,把.exe改为.lnk。
这句只是个示例,具体的路径还需要处理的。
不比较小版本号,那要对字符串处理一下。把]Function OSver部分改成下面内容
- Function OSver(strComputer)
- Set objWMIService = GetObject("winmgmts:\" & strComputer & "\root\cimv2")
- Set colItems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")
- For Each objItem in colItems
- strOScaption=objitem.Caption
- strOSversion=objitem.Version
- Next
- set objWMIService = nothing
- set colItems = nothing
- strOSversion=left(strOSversion,InStrRev(strOSversion,".",-1,1) - 1) ''截取strOSversion为最后一个"."的左面部分
- select case strOSversion
- case "5.2"
- OSver = "2K3"
- case "5.0"
- OSver = "2K"
- case "5.1"
- OSver = "XP"
- case "6.0"
- OSver = "visita"
- case "6.1"
- OSver = "W7"
- case else
- wscript.echo "未知的操作系统"
- wscript.quit
- end select
- End Function
复制代码 |
|