从非特权用户命令行中找出Windows版本

Jar*_*red 14 windows cmd

我需要一种方法来找出我使用简单的命令行工具运行的Windows版本(没有powershell).我需要它来自非特权用户,我需要能够解析Windows XP,Vista,服务器2008和7之间的差异.我目前正在使用: wmic os get Caption但是当用户没有时它会失败有权运行wmic.

更新: 为了澄清,我需要这个命令不打破不同的服务包级别等,这可能会排除解析特定的版本号.此外,如果您查看 Windows版本列表,您将看到Windows 7和Server 2008 r2上报告的数字是相同的.

Jar*_*red 18

我通过解析输出解决了这个问题:

reg query "HKLM\Software\Microsoft\Windows NT\CurrentVersion" /v "ProductName"
Run Code Online (Sandbox Code Playgroud)


Sri*_*niv 11

systeminfo命令显示有关os版本的所有内容,包括Service Pack编号和您正在使用的版本.

C:\>systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
OS Name:                   Microsoft Windows 7 Enterprise
OS Version:                6.1.7601 Service Pack 1 Build 7601    
Run Code Online (Sandbox Code Playgroud)

参考:从命令提示符处查找Windows版本

  • 这需要太长时间才能运行,并且无法从另一个程序中完全解析,因为它会创建并删除相当多的文本. (3认同)

Cal*_*res 5

您可以使用ver. 我在一台带有非特权命令提示符的学校计算机上,它给了我Microsft Windows [Version 6.1.7601]. 我相信你能从你得到的数字中分辨出 Vista 和 XP。