中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 在脚本里如何区分运行的环境是xp还是vista?
作者:
标题: 在脚本里如何区分运行的环境是xp还是vista? 上一主题 | 下一主题
biwier
初级用户





积分 98
发帖 34
注册 2007-10-16
状态 离线
『楼 主』:  在脚本里如何区分运行的环境是xp还是vista?

好像没有一个环境变量暗示这个。。有好方法吗?3x

2007-11-13 14:58
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 2 楼』:  

用for获取ver内容



2007-11-13 15:23
查看资料  发短消息 网志   编辑帖子  回复  引用回复
r0gue
新手上路





积分 7
发帖 4
注册 2007-11-13
状态 离线
『第 3 楼』:  

没人回答么 我也遇到了这个问题

2007-11-13 23:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
yxbzxm
新手上路





积分 14
发帖 6
注册 2008-1-14
状态 离线
『第 4 楼』:  

顶一顶 我也需要?

2008-6-24 07:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
quya
高级用户

五星老土


积分 558
发帖 172
注册 2003-2-9
来自 江苏
状态 离线
『第 5 楼』:  

没用过VISTA,但可以照以下思路试试看。

1.VISTA 和 XP环境变量是否完全一样,只要有一个不一样,那么就可以判定
2.VISTA 是否比XP多了或者少了默认变量, 如果是, 可以用 IF DEFINED %变量% 判定
3.文件判定法, 找一个VISTA 肯定有的而XP 肯定没有的特定文件判断, 反之亦然.



我怎么找不到一个比我注册日期早的人? 难道我是传说中的超级管理员? 其实我只是个潜水冠军而已.
2008-6-24 08:58
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 6 楼』:  

2楼不是说的很清楚了吗?用ver就行了。



2008-6-24 09:16
查看资料  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 7 楼』:  

没办法,非得要给出代码:
@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 ]



批处理之家新域名:www.bathome.net
2008-6-24 09:53
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
driver1998
高级用户




积分 740
发帖 373
注册 2008-5-23
来自 中国,广东
状态 离线
『第 8 楼』:  

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

2008-6-24 14:03
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
knoppix7
银牌会员





积分 1287
发帖 634
注册 2007-5-2
来自 cmd.exe
状态 离线
『第 9 楼』:  

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暂缺.

2008-6-24 14:16
查看资料  发短消息 网志   编辑帖子  回复  引用回复
chishingchan
银牌会员




积分 1282
发帖 538
注册 2002-11-2
状态 离线
『第 10 楼』:  


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

2008-6-25 08:56
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: