28 windows computer-architecture cpu-architecture windows-edition
确定操作系统运行的是 32 位版本还是 64 位 Windows 的命令行是什么?
小智 36
您可以通过 WMI 获取此信息:
wmic OS get OSArchitecture
Run Code Online (Sandbox Code Playgroud)
我的系统上的示例:
C:\>wmic OS get OSArchitecture
OSArchitecture
32-bit
Run Code Online (Sandbox Code Playgroud)
小智 19
命令行:
systeminfo | findstr /I type:
Run Code Online (Sandbox Code Playgroud)
示例输出:
系统类型:基于X86的PC
在本例中,X86 表示 32 位系统。
(/I 参数表示不区分大小写的搜索)
小智 15
我无法在另一篇文章中附上答案,所以在这里。管道的结果systeminfo- 花费了相当多的时间并写入控制台,因此不是命令文件的最佳解决方案(批处理脚本 - 无论如何你喜欢称它们为 B-) )。
即使使用findstr- 它在其他语言版本的 Windows 上也找不到。在中欧语言 win7 操作系统上,它还返回 ..."X86-based"... 结果,但在“类型”上寻找其他内容。我不确定它是否会因 os 的其他语言变体而异。
可能“wmic”方法是最可靠的——它直接询问操作系统。
其他可能的快速解决方案可以是检查变量(至少在我的 win7 上工作)。
echo %PROCESSOR_ARCHITECTURE%
Run Code Online (Sandbox Code Playgroud)
好的 - 记住很长但可能set | findstr ARCH可以记住。
当然 - 有些人可以修改系统变量,因此不如wmic. 但是可以快速使用。
我希望我能帮助别人。
Syn*_*ech 14
在 Windows 下有多种检查处理器架构的方法:
在至少 Windows 2000及更高版本中检查处理器体系结构的最快、最简单和最兼容的方法是检查PROCESSOR_ARCHITECTURE 环境变量:
echo %PROCESSOR_ARCHITECTURE%
但是,这可能会产生不同的结果,具体取决于命令提示符的打开方式。为避免由于 WoW64获得“意外结果”,您可以直接从注册表中读取它(微软在密钥中输入了不少于两个拼写错误):
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE
微软还建议从注册表中读取硬件信息存储:
reg query "HKLM\Hardware\Description\System\CentralProcessor\0" /v Identifier
您还可以检查Program Files目录的 x86 版本(或指向它的环境变量)是否存在,因为它只存在于 64 位系统上。与PROCESSOR_ARCHITECTURE变量不同,这不依赖于命令提示符的运行方式,因为目录存在(或不存在)而不管提示符如何打开:
::via env-var
if not defined ProgramFiles(x86) echo 32-bit
::via file-system
if not exist "%systemdrive%\Program Files (x86)" echo 32-bit
这些方法可以组合在一个单独的批处理文件(例如,cpuinfo.bat)中,并提供了一种很好的、闪电般快速的方式来从标准的 Windows NT 命令提示符检查系统,而无需求助于运行其他程序或框架。
下面的批处理文件在 32 位和 Intel 64 位系统上进行了测试(请在 AMD64 上测试),在 <1 秒内给出正确的结果:

@echo off
echo PROCESSOR_ARCHITECTURE var:
echo %PROCESSOR_ARCHITECTURE% | find /i "x86" > nul
if %errorlevel%==0 (
echo 32-bit
) else (
echo 64-bit
)
echo.
echo PROCESSOR_ARCHITECTURE reg:
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE | find /i "x86" > nul
if %errorlevel%==0 (
echo 32-bit
) else (
echo 64-bit
)
echo.
echo CentralProcessor reg:
reg query "HKLM\Hardware\Description\System\CentralProcessor\0" | find /i "x86" > nul
if %errorlevel%==0 (
echo 32-bit
) else (
echo 64-bit
)
echo.
echo ProgramFiles(x86) var:
if not defined ProgramFiles(x86) (
echo 32-bit
) else (
echo 64-bit
)
echo.
echo ProgramFiles(x86) dir:
if not exist "%systemdrive%\Program Files (x86)" (
echo 32-bit
) else (
echo 64-bit
)
echo.
Run Code Online (Sandbox Code Playgroud)
小智 6
我找不到该OSArchitecture物业(根据 phoebus 的回答),因此我建议改用该SystemType物业ComputerSystem。
wmic computersystem get systemtype从命令提示符运行命令给出
C:\Windows\system32>wmic computersystem get systemtype
SystemType x64-based PC
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
137351 次 |
| 最近记录: |