批处理命令之精确获取操作系统版本信息
作者:朱金灿
来源:http://blog.csdn.net/clever101
为了使得批处理命令获取更大的通用性,有时需要获取操作系统版本。今天为此搜了一些资料,网上的说法是Ver、注册表、WMI都可以。我研究了一下,发现还是Ver命令最为成熟,为此综合各家做法写下了下面一个批处理文件:
@echo off cls ver | find "4.0." > NUL && goto win95 ver | find "4.10." > NUL && goto win98 ver | find "4.90." > NUL && goto win_me ver | find "3.51." > NUL && goto win_Nt_3_5 ver | find "5.0." > NUL && goto win2000 ver | find "5.1." > NUL && goto win_xp ver | find "5.2." > NUL && goto win2003 ver | find "6.0." > NUL && goto vista ver | find "6.1." > NUL && goto win7 ver | find "6.2." > NUL && goto win8 :win95 @echo 当前系统是:win95 @echo ---------------------------------------- goto end :win98 @echo 当前系统是:win98 @echo ---------------------------------------- goto end :win_me @echo 当前系统是:win_me @echo ---------------------------------------- goto end :win_Nt_3_5 @echo 当前系统是:win NT 3.51 @echo ---------------------------------------- goto end :win2000 @echo 当前系统是:win2000 @echo ---------------------------------------- goto end :win_xp @echo 当前系统是:WinXP @echo ---------------------------------------- goto end :win2003 @echo 当前系统是:win200 @echo ---------------------------------------- goto end :vista @echo 当前系统是:vista @echo ---------------------------------------- goto end :win7 @echo 当前系统是:win7 @echo ---------------------------------------- goto end :win8 @echo 当前系统是:win8 @echo ---------------------------------------- goto end @echo 不能获取当前操作系统版本 @echo ---------------------------------------- :end pause
下面是Windws 的主要版本列表:
需要指出的是上面的批处理命令获取的操作系统版本的取自版本的前两位,获取的操作系统信息依然不够准确的,如上表所示,如Windows 8和Windows Server 2012的版本号都是6.2。所以在使用该批处理文件时需要注意这一点。
参考文献:
如果你觉得我的博客对你有帮助,请在下面网址中博客之星评选活动中投我一票:
http://vote.blog.csdn.net/item/blogstar/clever101(单击候选人介绍下面的投他一票那个按钮)
参与投票有机会获奖:
最佳贡献奖:通过微博分享活动就有机会获得30元充值卡一张(每周抽选5名)
幸运奖:凡参与投票用户就有机会获得精美小礼品一份。(每周抽选5名)
积极参与奖:所有参与投票并符合条件的用户均可获得20个下载积分。