简单版:
@echo off
set OsVersion=0
ver|findstr /r /i "5.2.*" > NUL && goto Server2003
ver|findstr /r /i "6.0.*" > NUL && goto Server2008
ver|findstr /r /i "6.1.*" > NUL && goto Server2008R2
ver|findstr /r /i "6.2.*" > NUL && goto Server2012
ver|findstr /r /i "6.3.*" > NUL && goto Server2012R2
ver|findstr /r /i "10.0.*" > NUL && goto Server2016
goto UnknownVersion
:Server2003
set OsVersion="Windows Server 2003"
goto Show
:Server2008
set OsVersion="Windows Server 2008"
goto Show
:Server2008R2
set OsVersion="Windows Server 2008 R2"
goto Show
:Server2012
set OsVersion="Windows Server 2012"
goto Show
:Server2012R2
set OsVersion="Windows Server 2012 R2"
goto Show
:Server2016
set OsVersion="Windows Server 2016"
goto Show
:UnknownVersion
set OsVersion="UnknownVersion"
goto Show
:Show
echo %OsVersion%
pause