Windows 使用命令提示符查找每个CPU的CPU数和内核数

Windows 使用命令提示符查找每个CPU的CPU数和内核数,windows,cmd,software-design,Windows,Cmd,Software Design,我正在尝试使用命令提示符检索每个CPU的CPU数和核心数。 我已执行以下命令: wmic cpu获取NumberOfCores,NumberOfLogicalProcessors/格式:列表 我收到此错误:wmic'未被识别为内部或外部命令、可操作程序或批处理文件 我正在Windows Server 2008 R2计算机上执行此操作。我相信“wmic”命令在这个窗口上是兼容的 我运行命令promt的目录是'C:\Windows> 有什么建议吗?根据您的评论-您的路径语句已更改/不正确,或者路径变

我正在尝试使用命令提示符检索每个CPU的CPU数和核心数。 我已执行以下命令:

wmic cpu获取NumberOfCores,NumberOfLogicalProcessors/格式:列表

我收到此错误:
wmic'未被识别为内部或外部命令、可操作程序或批处理文件

我正在Windows Server 2008 R2计算机上执行此操作。我相信“wmic”命令在这个窗口上是兼容的

我运行命令promt的目录是'C:\Windows>


有什么建议吗?

根据您的评论-您的
路径
语句已更改/不正确,或者
路径
变量被错误地用于其他用途

您可以使用环境变量
处理器数量
计算处理器总数:

echo %NUMBER_OF_PROCESSORS%

也可以在命令行中输入
msinfo 32


它将显示您的所有系统信息。然后,在“查找”框中,只需输入
处理器
,它将显示每个CPU的内核和逻辑处理器。我发现这是最简单的方法

要检查是否存在物理套接字,请运行:

wmic cpu get SocketDesignation

如果要查找一台机器有多少个处理器(或CPU),请以相同的方式
%NUMBER\u OF\u processors%
显示内核数,将以下脚本保存在批处理文件中,例如,
GetNumberOfCores.cmd

@echo off
for /f "tokens=*" %%f in ('wmic cpu get NumberOfCores /value ^| find "="') do set %%f
然后像这样执行:

GetNumberOfCores.cmd

echo %NumberOfCores%

脚本将设置一个名为
%NumberOfCores%
的环境变量,它将包含处理器的数量。

C:\Windows\System32\Wbem
在您的路径上,实际上是否有一个文件
C:\Windows\System32\Wbem\WMIC.exe
?如果您需要物理CPU的计数,使用
wmic computersystem get numberofprocessors
@MichaelBurr我只是字面上的'C:\Windows>wmic cpu get NumberOfCores,NumberOfLogicalProcessors/Format:List有一个指向C:\Windows\System32\wbem\wmic的文件路径。exe@MichaelBurr我将目录更改为C:\Windows\System32\Wbem,现在命令可以运行了。谢谢您想发布为答案以便我可以接受吗?要包含您必须运行的CPU信息,即使是
wmic CPU get SocketDesignation、NumberOfCores、NumberOfLogicalProcessors/Format:List
此环境变量是否存在于所有版本的Windows上???这是非常有用的。你知道它的操作系统版本兼容性吗?我只发现它是在Windows 2000/NT中引入的。我猜它存在于Windows 2000之后的每个Windows桌面和服务器版本中。这提供了内核的总数,但不是CPU的数量。我确认这显示了所有Socket的内核总数。这不是我的hp Windows 10 Pro桌面pc中的内核总数。这是逻辑处理器的数量。我的电脑有6个内核和12个处理器,所以它有12个处理器。有人知道我怎样才能得到那个数字6(核心数)?这个命令返回
cpu1
。缺少物理套接字是什么意思?如果没有插座,CPU就不能出现在主板上,不是吗?我相信这个命令只是告诉您计算机上CPU插槽的数量。在命令行上执行时,我必须将双
%%
替换为单
%%
。例如:
for/f“tokens=*%f in('wmic cpu get NumberOfCores/value^ | find“=”)确实设置了%f
而不是真正在命令行上获取信息;-)