Board logo

标题: 在脚本里如何区分运行的环境是xp还是vista? [打印本页]

作者: biwier     时间: 2007-11-13 14:58    标题: 在脚本里如何区分运行的环境是xp还是vista?

好像没有一个环境变量暗示这个。。有好方法吗?3x
作者: zh159     时间: 2007-11-13 15:23
用for获取ver内容
作者: r0gue     时间: 2007-11-13 23:32
没人回答么 我也遇到了这个问题
作者: yxbzxm     时间: 2008-6-24 07:57
顶一顶 我也需要?
作者: quya     时间: 2008-6-24 08:58
没用过VISTA,但可以照以下思路试试看。

1.VISTA 和 XP环境变量是否完全一样,只要有一个不一样,那么就可以判定
2.VISTA 是否比XP多了或者少了默认变量, 如果是, 可以用 IF DEFINED %变量% 判定
3.文件判定法, 找一个VISTA 肯定有的而XP 肯定没有的特定文件判断, 反之亦然.
作者: HAT     时间: 2008-6-24 09:16
2楼不是说的很清楚了吗?用ver就行了。
作者: bat-zw     时间: 2008-6-24 09:53
没办法,非得要给出代码:
@echo off
set /p a=你想知道当前系统环境吗?(1.想 2.不想)
if "%a%" neq "1" goto :eof
cls&set /p b=你确实想知道吗?(1.是的 2.我再想想)
if "%b%" neq "1" goto :eof
cls&set /p c=你肯定?(1.肯定 2.我#@...你再不告诉我,就砸了你个狗日的机子!)
cls&echo 算了,还是告诉你:
for /f "delims=" %%i in ('ver') do echo %%i|findstr /i "xp">nul&&echo 当前运行环境是xp系统。||echo 当前运行环境是vista系统。
pause>nul
[ Last edited by zw19750516 on 2008-6-24 at 09:59 AM ]
作者: driver1998     时间: 2008-6-24 14:03
ver|find "5.1">nul
if errorlevel 0 goto xp
ver|find "6.0">nul
if errorlevel 0 goto vista

:xp
echo xp

:vista
echo vista
作者: knoppix7     时间: 2008-6-24 14:16
net config work

Return Values

Value Operating System
NT40 Microsoft Windows NT 4.0
2000 Microsoft Windows 2000
2002 Microsoft Windows XP
2003 Microsoft Windows 2003



VISTA暂缺.
作者: chishingchan     时间: 2008-6-25 08:56

strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
    WScript.Echo objOperatingSystem.Version
Next
要知道现在用什么系统,就需知道系统的版本号,自己再添加识别语句就好了。