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
要知道现在用什么系统,就需知道系统的版本号,自己再添加识别语句就好了。