Board logo

标题: 请教:如何显示操作系统 [打印本页]

作者: zdh     时间: 2006-11-17 23:50    标题: 请教:如何显示操作系统

已经在论坛里面搜索过了,好象是用%OS%,但是问题是WIN2000显示WINDOS_NT,在WINXP里也是显示WINDOWS_NT,晕……
望高手解答。
作者: ccwan     时间: 2006-11-17 23:51
ver
作者: zdh     时间: 2006-11-18 00:24
CCWAN能够再具体一点吗?VER我不太明白!
作者: zdh     时间: 2006-11-18 00:27
哦,原来是写成:
VER %OS%
但是它的信息也太详细了,我只想分开WIN2K和WINXP。因为我打算用批处理修改大家的HOST文件,但是WIN2K和WINXP存放的地方并不相同。
作者: lxmxn     时间: 2006-11-18 00:43

  如果只有XP和2000的系统,可以试试下面这个。
@echo off
ver|find /i "Windows XP">NUL || VER|FIND /I "Windows 2000" && echo 此系统是WINDOWS XP || 此系统是WINDOWS 2000
PAUSE

作者: zdh     时间: 2006-11-18 00:50
老兄写错了吧!用不了啊!我并不是想输出,而是最好能够判断和分辨。
作者: ccwan     时间: 2006-11-18 00:50
请按任意键继续……
作者: lxmxn     时间: 2006-11-18 01:32

  五楼代码有点小问题,特修正如下:( 判断的)
@echo off
ver|find /i "Windows XP">NUL && echo 此系统是WINDOWS XP || echo 此系统是WINDOWS 2000
PAUSE


[ Last edited by lxmxn on 2006-11-20 at 07:25 AM ]
作者: lxmxn     时间: 2006-11-18 01:33


  Quote:
Originally posted by zdh at 2006-11-18 00:50:
老兄写错了吧!用不了啊!我并不是想输出,而是最好能够判断和分辨。


  请把你想实现的目的说清楚。

  究竟何谓判断和分辨?

作者: namejm     时间: 2006-11-18 01:51
  8F的代码其实还是有缺陷的,因为它犯了逻辑错误:如果不是XP系统,就一定是2K系统么?

  搜集了部分操作系统的内部版本号,可以用ver命令配合find来判断操作系统:
      ME系统:Windows Millennium [Version 4.90.3000]
      Win2K专业版:Microsoft Windows 2000 [Version 5.00.2195]
      WinXP专业版:Microsoft Windows XP [版本 5.1.2600]

作者: redtek     时间: 2006-11-18 01:52
查看系统更详细的版本信息/同时还可以查看远程主机的详细版本信息:

Windows Server 2003 中文企业版自带一个外部命令工具: GETTYPE.exe
这个工具含:默认查看版本式 和 非常多指定参数查看本地和远程主机更多详细版本参数。

同时,试验向下”移植“此工具到Windows 2000版本上运行,完全准确检测出了系统版本。
测试举例: Windows Server 2003 系统时显示信息~:)
====================================================
主机名:   ART
名称:     WindowsServer 2003, Enterprise Edition
版本:     5.2 内部版本 3790
角色:     工作组
组件:     未安装



测试举例: Windows 2000 系统时显示信息~:)
====================================================
主机名:   net-winn2000
名称:     Windows 2000 Advanced Server
版本:     5.0 内部版本 2195 Service Pack 4
角色:     工作组
组件:     未安装
此工具可以在这里直接下载~:)

==============================================
GETTYPE 帮助信息:)
====================================================
GETTYPE [/S system [/U username [/P [password]]]] [/ROLE |
        /SP | /VER | /MAJV | /MINV | /TYPE | /BUILD]

描述:
   根据要求的操作系统测试,该工具设置系统环境变量
   ERRORLEVEL。

参数列表:
   /S     system              指定要连接的远程系统。

   /U     [domain\]user       指定命令在其下执行的用户上下文。

   /P     [password]          指定给定用户上下文的密码。

   /ROLE                      返回操作系统的角色。

   /SP                        返回已安装的最高服务包级别。

   /VER                       返回版本信息(主要和次要版本)。

   /MAJV                      只返回主要版本。

   /MINV                      只返回次要版本。

   /TYPE                      返回已安装操作系统的类型。

   /BUILD                     返回操作系统的内部版本号码。

   /?                         显示帮助消息。

   OS 角色                返回的值
   -------                --------
   域控制器:                 1
   成员服务器:               2
   工作组:                   3

   OS 类型
   -------
   Home Edition:              1
   Professional:              2
   Standard Server:           3
   Enterprise Server:         4
   Datacenter Server:         5
   Web Server:                6
   for Small Business Server: 7

   Service Pack 信息:
   -------------------------
   如果没有安装 service pack,ERRORLEVEL 为 0。如果安装了 Service Pack 1,
   ERRORLEVEL 为 1,等等。

   版本信息:
   ---------
   如果安装了 Windows XP,主要版本是 5,ERRORLEVEL
   则为 5000。同样,次要版本是 1,则为100。为了同时
   表示主要和次要版本,ERRORLEVEL 转换成 5100。

   注意: 如果出现错误,ERRORLEVEL 则设为 255。
         使用 "echo %errorlevel%" 命令查看返回的值。

示例:
   GETTYPE /?
   GETTYPE
   GETTYPE /s system
   GETTYPE /s system /U user /ROLE
   GETTYPE /s system /U user /P password /SP
   GETTYPE /s system /U user /P password /VER
   GETTYPE /s system /U user /P password /MINV
   GETTYPE /s system /U user /P password /MAJV
   GETTYPE /s system /U user /P password /TYPE
   GETTYPE /S system /U domain\user /P password /BUILD
==============================================
[建议] 如果批处理精通的话,完全使用系统自带的工具以及内部命令以及注册表等任何可使用资源是很简单的事情。

     如果批处理以及系统命令非精通状态,同时没有很多时间或兴趣不断深入研究下去,
     则建议使用处部命令或工具,省事儿~:)

[ Last edited by redtek on 2006-11-17 at 01:58 PM ]
附件 1: Gettype版本信息显示.rar (2006-11-18 01:52, 22.95 K, 下载附件所需积分 1点 ,下载次数: 38)

作者: redtek     时间: 2006-11-18 01:55
Windows Server 2003 中文企业版ver命令输出信息:
C:\WINDOWS>ver

Microsoft Windows [版本 5.2.3790]

作者: namejm     时间: 2006-11-18 02:00
  呵呵,建议大家把windwos各个系列、各个版本的内部版本号发出来共享一下,以后写批处理判断操作系统就方便多了——最好是用 ver 命令来查,然后把详细结果帖出来。
作者: NaturalJ0     时间: 2006-11-18 02:44
98 SE2
Windows 98 [Version 4.10.2222]

TMP=C:\WINDOWS\TEMP
TEMP=C:\WINDOWS\TEMP
PROMPT=$p$g
winbootdir=C:\WINDOWS
PATH=C:\WINDOWS;C:\WINDOWS\COMMAND
COMSPEC=C:\WINDOWS\COMMAND.COM
windir=C:\WINDOWS
BLASTER=A220 I5 D1 T4 P300
--------------------------------------------------------------------------------------------

2000 Professional SP4
Microsoft Windows 2000 [Version 5.00.2195]

ALLUSERSPROFILE=D:\Documents and Settings\All Users
APPDATA=D:\Documents and Settings\Administrator\Application Data
CommonProgramFiles=D:\Program Files\Common Files
COMPUTERNAME=ZHOU
ComSpec=D:\WINNT\system32\cmd.exe
HOMEDRIVE=D:
HOMEPATH=\
LOGONSERVER=\\ZHOU
NUMBER_OF_PROCESSORS=1
OS=Windows_NT
Os2LibPath=D:\WINNT\system32\os2\dll;
Path=D:\WINNT\system32;D:\WINNT;D:\WINNT\System32\Wbem;D:\Program Files\Common Files\Autodesk Shared\;D:\3dsmax5\backburner2\
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 15 Model 2 Stepping 9, GenuineIntel
PROCESSOR_LEVEL=15
PROCESSOR_REVISION=0209
ProgramFiles=D:\Program Files
PROMPT=$P$G
SystemDrive=D:
SystemRoot=D:\WINNT
TEMP=D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp
TMP=D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp
USERDOMAIN=ZHOU
USERNAME=Administrator
USERPROFILE=D:\Documents and Settings\Administrator
windir=D:\WINNT
--------------------------------------------------------------------------------------------

XP Professional SP2
Microsoft Windows XP [版本 5.1.2600]

ALLUSERSPROFILE=C:\Documents and Settings\All Users
APPDATA=C:\Documents and Settings\xixi\Application Data
CLIENTNAME=Console
CommonProgramFiles=C:\Program Files\Common Files
COMPUTERNAME=YUXI
ComSpec=C:\WINDOWS\system32\cmd.exe
FP_NO_HOST_CHECK=NO
HOMEDRIVE=C:
HOMEPATH=\Documents and Settings\xixi
LOGONSERVER=\\YUXI
NUMBER_OF_PROCESSORS=2
OS=Windows_NT
Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32\WBEM;C:\Program Files\ATI Technologies\ATI Control Panel;C:\Program Files\Common Files\Ulead Systems\MPEG;C:\Program Files\Common Files\Adobe\AGL
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 15 Model 4 Stepping 1, GenuineIntel
PROCESSOR_LEVEL=15
PROCESSOR_REVISION=0401
ProgramFiles=C:\Program Files
PROMPT=$P$G
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\WINDOWS
TEMP=C:\DOCUME~1\xixi\LOCALS~1\Temp
TMP=C:\DOCUME~1\xixi\LOCALS~1\Temp
USERDOMAIN=YUXI
USERNAME=xixi
USERPROFILE=C:\Documents and Settings\xixi
windir=C:\WINDOWS
--------------------------------------------------------------------------------------------


2003 Enterprise SP1 R2
Microsoft Windows [版本 5.2.3790]

ALLUSERSPROFILE=D:\Documents and Settings\All Users
APPDATA=D:\Documents and Settings\J\Application Data
CLIENTNAME=Console
ClusterLog=D:\WINDOWS\Cluster\cluster.log
CommonProgramFiles=D:\Program Files\Common Files
COMPUTERNAME=NATURAL
ComSpec=D:\WINDOWS\system32\cmd.exe
FP_NO_HOST_CHECK=NO
HOMEDRIVE=D:
HOMEPATH=\Documents and Settings\J
include=e:\Program Files\Microsoft Visual Studio\VC98\atl\include;e:\Program Files\Microsoft Visual Studio\VC98\mfc\include;e:\Program Files\Microsoft Visual Studio\VC98\include
lib=e:\Program Files\Microsoft Visual Studio\VC98\mfc\lib;e:\Program Files\Microsoft Visual Studio\VC98\lib
LOGONSERVER=\\NATURAL
MSDevDir=D:\Program Files\Microsoft Visual Studio\Common\MSDev98
NUMBER_OF_PROCESSORS=1
OS=Windows_NT
Path=e:\Program Files\Real\RealProducer Plus 10;D:\WINDOWS\system32;D:\WINDOWS;D:\WINDOWS\System32\Wbem;D:\Program Files\Microsoft SQL Server\80\Tools\Binn\;D:\Program Files\Common Files\Autodesk Shared\;D:\Program Files\Microsoft Visual Studio\Common\Tools\WinNT;D:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin;D:\Program Files\Microsoft Visual Studio\Common\Tools;e:\Program Files\Microsoft Visual Studio\VC98\bin;C:\WINDOWS;C:\WINDOWS\COMMAND
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 6 Model 8 Stepping 10, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=080a
ProgramFiles=D:\Program Files
PROMPT=$p$g
SESSIONNAME=Console
SystemDrive=D:
SystemRoot=D:\WINDOWS
TEMP=D:\DOCUME~1\J\LOCALS~1\Temp
TMP=D:\DOCUME~1\J\LOCALS~1\Temp
USERDOMAIN=NATURAL
USERNAME=J
USERPROFILE=D:\Documents and Settings\J
winbootdir=C:\WINDOWS
windir=D:\WINDOWS
--------------------------------------------------------------------------------------------



首行是 ver ,然后是 set 。
发出来方便大家对照,方便写的批处理能在各系统下通用。
少了个 ME。

[ Last edited by NaturalJ0 on 2006-11-18 at 05:37 AM ]
作者: lxmxn     时间: 2006-11-18 04:27


  Quote:
8F的代码其实还是有缺陷的,因为它犯了逻辑错误:如果不是XP系统,就一定是2K系统么?

  8楼已经说明了这是是修改5楼的代码的,而在5楼上方有一说明:

  Quote:
如果只有XP和2000的系统,可以试试下面这个。


作者: zdh     时间: 2006-11-18 04:36
W2K的输出信息是:
C:\Documents and Settings\Administrator>ver

Microsoft Windows 2000 [Version 5.00.2195]
作者: namejm     时间: 2006-11-18 04:52


  Quote:
Originally posted by NaturalJ0 at 2006-11-17 13:44:
[code]
Microsoft Windows [版本 5.2.3790]

  NaturalJ0 兄发的东西比较全面,加分奖励。

  上面这个地方没有写出版本系列,应该是2K3的系统吧?希望能补上。另外,如果能像 redtek 兄那样,写上某个系列某个版本的话就更好了。  
作者: NaturalJ0     时间: 2006-11-18 04:53
是 2003 ,打 ver 直接出来的就这样。
我现在每段都写了下。

[ Last edited by NaturalJ0 on 2006-11-18 at 05:09 AM ]
作者: namejm     时间: 2006-11-18 05:31
  最好能写上版本类别,比如是专业版、家庭版还是服务器版等等。
作者: NaturalJ0     时间: 2006-11-18 05:34
原来指这个,我马上补上。
作者: hxuan999     时间: 2006-11-23 05:18
Microsoft Windows XP [Version 5.1.2600]
作者: sihan     时间: 2007-1-7 04:34

作者: mouzeming     时间: 2007-1-7 04:44
系统自带命令 systeminfo 可以判断吗.?
我显示的蛮详细的
作者: 6622186     时间: 2007-3-7 14:07
winver GUI 显示
作者: doeasy2006     时间: 2007-3-11 05:37


  Quote:
Originally posted by mouzeming at 2007-1-6 03:44 PM:
系统自带命令 systeminfo 可以判断吗.?
我显示的蛮详细的

没问题:OS 名称: Microsoft Windows XP Professional
            OS 版本: 5.1.2600 Service Pack 2 Build 2600
属性显示:YlmF WinXP SP2 安装版Y1.5
不过,Win3.X、Win9.X、WinMe或Win2K能否使用此命令咱们就不知道了。
11楼的意思不是这个——“同时还可以查看远程主机的详细版本信息和password”。
作者: kkoper     时间: 2007-3-25 14:54
高手多啊  学习哈
作者: everest79     时间: 2007-3-25 22:39
if "%os%" == "" (set verx=windows&&goto pdos) else vrex=%OS%&&goto winnt

:winnt
reg query "reg query "HKEY_LOCAL_MACHINE\software\microsoft\%os%\currentversion" /v ProductName

:pdos
regedit /e verx.dat "HKEY_LOCAL_MACHINE\software\microsoft\%os%\currentversion"

大概这样子
作者: lxf0356     时间: 2010-10-20 09:53
好东西,收藏了