ver
命令 显示的内容类似这样:
> ver
Microsoft Windows [Versión 10.0.17134.228]
但在PowerShell(或Git Bash)中,您必须通过cmd
命令调用它:
> cmd /c ver
systeminfo
返回10.0.20348 N/A Build 20348
,而ver
则返回Version 10.0.20348.202
。 - Bink以下命令将帮助您完成此操作。如果您需要更多信息,请键入systeminfo:
systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
wmic os get Caption,CSDVersion /value
wmic os get Caption, BuildNumber /value
。 - zviwmic os get Caption, CSDVersion, BuildNumber /value
。 - Simon Sobisch我在某个地方找到了它,PowerShell:
(Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion").ReleaseId
补充 @Bonifacio 的回答:
REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" | findstr ReleaseId
REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" | findstr ReleaseId > any_path\%COMPUTERNAME%_OS_Version.txt
/v
开关直接查询您的值,而不是返回该注册表键下的所有内容以传递到管道中。 - Amit Naidu使用系统信息,您只能获取该值的构建版本并前往Google获取相应的版本。
然而,一种简单的方法是通过命令行搜索注册表:
REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" | findstr REG_SZ
说实话,我将几个答案合并成了这个PowerShell函数。(我使用的是pwsh 7.2.1进行测试。)
<#
.SYNOPSIS
Gets information about the version of windows this session is running on.
.OUTPUTS
A hashtable with various key/value pairs containing version information.
.EXAMPLE
PS> $winver = Get-Winver
PS> $winver
Name Value
---- -----
DisplayVersion 21H2
ProductName Windows 10 Enterprise
CurrentBuildNumber 19044
KeyName HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion
Version 10.0.19044.0
VersionString Microsoft Windows NT 10.0.19044.0
OsVersion Microsoft Windows NT 10.0.19044.0
PS> $winver.Version
Major Minor Build Revision
----- ----- ----- --------
10 0 19044 0
#>
function Get-Winver {
$keyName = "HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion"
$versionKey = (Get-Item $keyName)
$displayVersion = $versionKey.GetValue("DisplayVersion")
$productName = $versionKey.GetValue("ProductName")
$currentBuildNumber = $versionKey.GetValue("CurrentBuildNumber")
$osver = [System.Environment]::OSVersion
$winver = [Ordered]@{
"DisplayVersion" = $displayVersion
"ProductName" = $productName
"CurrentBuildNumber" = $currentBuildNumber
"KeyName" = $keyName
"Version" = $osver.Version
"VersionString" = $osver.VersionString
"OsVersion" = $osver
}
return $winver
}
REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" | findstr ReleaseId
Output:
ReleaseId REG_SZ 2009
for /f "tokens=3" %i in ('REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" ^| findstr ReleaseId') do echo %i
Output:
2009
findstr
is not needed if you use skip
and query only the Key Value you need using /v
instead of the entire Registry Key : for /f "skip=2 tokens=2*" %i in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ReleaseId') do @echo %j
- Amit Naidu在cmd中,您可以使用-ver
C:\ Users \ user_user> ver
在PowerShell中 来自: {{link1:如何从PowerShell命令行查找Windows版本}}
$ Version = Get-ItemProperty-Path'HKLM:\ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion' “版本$($ Version.ReleaseId)(OS Build $($ Version.CurrentBuildNumber).$($ Version.UBR))”