首页/系统/Windows 运维速查/ver 查看系统版本
CMD 常用命令74 条

ver 查看系统版本

显示当前 Windows 主版本号:批处理里常用它做系统分支判断,精确构建号要看 winver 或 systeminfo。

Windows 运维速查系统更新于 2026-10-13

ver 是什么

ver 是 CMD 的内置命令,只做一件事:打印当前操作系统的主版本号,输出形如 Microsoft Windows [版本 10.0.19045.2965]。它常被批处理用来做系统分支判断,但信息量很小:Windows 10 与 Windows 11 的版本号都是 10.0,靠构建号才能区分;要「功能更新代号(如 22H2)」「补丁号」这些细节,还得看 winver、systeminfo 或注册表。

基本信息

适用平台CMD 与批处理;PowerShell 中不存在该命令
语法ver
输出形如 Microsoft Windows [版本 10.0.19045.2965]
权限要求无,任何用户可执行
补充命令winver 弹窗显示图形版本信息;systeminfo 输出完整系统清单

典型使用场景

  • 脚本分支:判断是否 Windows 10 以上,决定启用哪些命令与语法
  • 快速确认:远程会话里先看一眼版本,避免用错版本专属参数
  • 环境巡检:批量收集主机版本号,统计补丁与版本分布
  • 排障前置:判断某功能是否受系统版本限制(如 WSL2、某些 WinRM 策略)
  • 配合其他命令:与系统信息类命令搭配,补全硬件或补丁维度

常用示例

常用示例
ver                                              # 最简:只看主版本号
winver                                           # 弹窗显示版本与构建号
systeminfo | findstr /C:"OS 名称" /C:"OS 版本"     # 输出中文系统信息
wmic os get caption,version,buildnumber          # 结构化输出(WMIC 已弃用)
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v DisplayVersion   # 取 22H2 之类的功能更新代号
REM 批处理里按版本分支
ver | find "10.0." >nul && echo 属于 Windows 10/11 系列

版本号对照速查

版本号对应系统构建号示例
6.1Windows 7 / Server 2008 R27601 为 SP1
6.2Windows 8 / Server 20129200
6.3Windows 8.1 / Server 2012 R29600
10.0(早期构建)Windows 10 / Server 2016-202219045 对应 Win10 22H2,17763 对应 Server 2019
10.0(新构建)Windows 11 / Server 202522621 起为 Win11,26100 对应 Win11 24H2
Windows 11 的 ver 同样显示 10.0,微软用构建号区分:22000 及以上为 Windows 11。任何「用 ver 判断是不是 Win11」的脚本都是错的,必须比较构建号。
ver 的输出随系统语言变化:中文系统输出中文、英文系统输出英文,脚本直接匹配「版本」这类中文字符串换台机器就会失效,匹配数字(如 10.0.)更可靠。
版本号在合规与支持周期检查里同样常用:Windows 10 各版本与 Server 各代的支持截止时间不同,盘点时要把构建号与功能更新代号(22H2、23H2)一起记录,只写「10.0」无法判断是否仍在支持期。

PowerShell 与脚本分支的稳妥写法

PowerShell 与脚本分支的稳妥写法
$PSVersionTable.PSVersion                            # 这是 PowerShell 自己的版本,不是系统版本
[System.Environment]::OSVersion.Version              # 取系统主版本与构建号
(Get-CimInstance Win32_OperatingSystem).Version      # WMI 口径的版本号
Get-ComputerInfo | Select-Object WindowsProductName, WindowsVersion, OsBuildNumber
别把 PowerShell 里的 $PSVersionTable 当成系统版本:它反映的是 PowerShell 引擎版本,与 Windows 版本无关;同理 ver 在 PowerShell 会话中不可用,需改用系统 API 或 CIM 查询。

易错点

  • 用 ver 判断 Windows 10 与 11:两者都输出 10.0,判断必然出错,应比较构建号
  • 脚本直接匹配 ver 输出里的中文字符串,英文系统或语言包不同时匹配失败
  • 把 $PSVersionTable.PSVersion 当成操作系统版本展示给业务方,结论张冠李戴
  • 长期依赖 wmic os get version 取版本:WMIC 已宣布弃用,新系统可能移除,应迁移到 CIM 查询

数据来源与参考

  • Microsoft Learn:ver 命令
  • Microsoft Learn:Windows 11 版本与构建号说明

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌