试图在批处理文件中找到 CPU 个内核的数量

Trying to find amount of CPU cores in batch file

下面是我一直在使用的工作代码,但如您所见,它使用环境变量来表示处理器数量,这些天在大多数计算机上通常是 cores * 2。有没有一种方法可以使我的循环基于 cpu and/or 中的内核数量?如何编辑我的循环以将处理器数量除以 2?

set loopcount=%NUMBER_OF_PROCESSORS%
:loop
START "Batch Script" MyProgram.exe
set /a loopcount=loopcount-1
if %loopcount%==0 goto exitloop
goto loop
:exitloop

对于任何类似于“我怎样才能找到关于我的计算机的信息?”的问题,答案总是使用 wmic

for /F "delims=" %%A in ('wmic cpu get NumberOfCores /format:value ^| find "NumberOfCores"') do set %%A
for /L %%A in (1,1,%NumberOfCores%) do start "Batch Script" MyProgram.exe

当然,如果您正在寻找一种批量计算数学的方法,只需使用 set /a

set /a loopcount=%NUMBER_OF_PROCESSORS%/2