[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
先给出个简单的:
  1. ::================= 判断Windows版本 ============================
  2. ::返回值: isXPlevel=1 XP级别;isXPlevel=2 高于XP级别;isXPlevel=0 低于XP级别
  3. :isWindowsVer
  4. ver|findstr "5\.[0-9]\.[0-9][0-9]*">nul&&(set isXPlevel=1&goto:eof)
  5. ver|findstr "6\.[0-9]\.[0-9][0-9]*">nul&&(set isXPlevel=2&goto:eof)
  6. set isXPlevel=0
  7. goto:eof
复制代码

TOP

再说一下复杂的:
WindowsOS dwPlatformID dwMajorVersion dwMinorVersion dwBuildNumber
95                 1         4                 0                 950
95 SP1                 1         4                 0                 > 950 && <= 1080
95 OSR2         1         4                 < 10                 > 1080
98                 1         4                 10                 1998
98 SP1                 1         4                 10                 >1998 && < 2183
98 SE                 1         4                 10                 >= 2183
ME                 1         4                 90                 3000
NT 3.51         2         3                 51                 1057
NT 4                 2         4                 0                 1381
2000                 2         5                 0                 2195
XP                 2         5                 1                 2600
2003                 2         5                 2                 3790
Vista                 2         6                 0                 6000
Vista SP1/2008        2         6                 0                 6001
CE 1.0                 3         1                 0  
CE 2.0                 3         2                 0
CE 2.1                3         2                 1
CE 3.0                3         3                 0

    'Windows 7              6.1      wProductType == VER_NT_WORKSTATION = 1
    'Windows Server 2008 R2 6.1      wProductType != VER_NT_WORKSTATION
    'Windows Server 2008    6.0      wProductType != VER_NT_WORKSTATION
    'Windows Vista 6.0      6 0      wProductType == VER_NT_WORKSTATION
    'Windows Server 2003 R2 5.2     GetSystemMetrics(SM_SERVERR2) != 0
    'Windows Server 2003    5.2     GetSystemMetrics(SM_SERVERR2) == 0
    'dwPlatformId:
    'VER_PLATFORM_WIN32s         =0   Win32s on Windows 3.1.
    'VER_PLATFORM_WIN32_WINDOWS  =1   Win32 on Windows 95.
    'VER_PLATFORM_WIN32_NT       =2   Win32 on Windows NT.
    'VER_NT_WORKSTATION          =1
    'VER_NT_DOMAIN_CONTROLLER    =2
    'VER_NT_SERVER               =3


由上表我们可以看出 VER 命令可以直接判断OS有:
Win2000     /5 .0   可以直接判断
WinXP         /5 .1   可以直接判断
Win2003     /5 .2  可以直接判断

Vista            /6.0   不能直接判断
'Windows Server 2008       6.0          不能直接判断
Windows Server 2008 R2 6.1      不能直接判断
Win7                                      6.1      不能直接判断

TOP

Vista                 2         6                 0                 6000
Vista SP1/2008        2         6                 0                 6001

这里可以看到 Vista SP1和2008   的版本号与BuildNumber 完全一样,所以无法用VER命令分别; 但是非sp版本的Vista还是可以判断的.

汗,我只用过XP, 希望有人补充下 各OS BuildNumber  !!!!!!!!!!!

TOP

谢谢 Batcher 版主 分享OS BuildNumber .
收藏了!

TOP

返回列表