在命令行中查找操作系统是否正在运行32位版本或64位Windows?
在命令行中查找操作系统是否正在运行32位版本或64位Windows?
Answers:
您可以通过WMI获得此信息:
wmic OS get OSArchitecture
我系统上的示例:
C:\>wmic OS get OSArchitecture
OSArchitecture
32-bit
命令行:
systeminfo | findstr /I type:
示例输出:
系统类型:基于X86的PC
在此示例中,X86表示32位系统。
(/I
参数表示不区分大小写的搜索)
systeminfo | findstr /I typ:
为整个条目,这是Systemtyp: x64-based PC
systeminfo | findstr /C:"System Type"
也检索相同的信息,但我猜较长的文本因此不太受欢迎。
我无法将答案附加到其他帖子,因此在这里。systeminfo
传递- 的结果需要花费大量时间并写入控制台,因此不是命令文件的最佳解决方案(批处理脚本-无论如何,您都希望将它们称为B-))。
即使使用findstr
-在其他语言版本的Windows上也找不到。在欧洲中枢语言win7 os上,它还会在结果上返回“基于X86”……但是在寻找其他类型“ type”。我不确定操作系统的其他语言版本是否会有所不同。
“ wmic”方法可能是最可靠的-它直接询问os。
其他可能的快速解决方案可以是检查变量(至少对我来说是在win7上工作)。
echo %PROCESSOR_ARCHITECTURE%
好的-记住的时间很长,但可能set | findstr ARCH
会记住一个。
当然-有些可以修改系统变量,因此不如可靠wmic
。但是可以很快使用。
我希望我能帮助别人。
有多种方法可以检查Windows下的处理器体系结构:
在至少Windows 2000及更高版本中,检查处理器体系结构的最快,最简单,最兼容的方法是检查PROCESSOR_ARCHITECTURE
环境变量:
echo %PROCESSOR_ARCHITECTURE%
但是,这可能会产生不同的结果,具体取决于打开命令提示符的方式。为了避免由于WoW64而导致“意外结果”,您可以直接从注册表中读取它(Microsoft 在密钥中输入了不少于两个错字):
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.
常规命令行:wmic OS get OSArchitecture
(IIRC)
电源外壳: (gwmi win32_computersystem).SystemType
Invalid Query
XP。
如果您指的是Windows操作系统,则可以将vbscript与WMI一起使用
strComputer = "."
Set objWMIService = GetObject("winmgmts{impersonationLevel=impersonate,authenticationLevel=Pkt}!\\" & strComputer & "\root\cimv2")
Set colSettings = objWMIService.ExecQuery("SELECT * FROM Win32_Processor")
For Each objProcessor In colSettings
Wscript.Echo "System Type: " & objProcessor.Architecture
Wscript.Echo "Processor: " & objProcessor.Description
Wscript.Echo "Address Width: "& objProcessor.AddressWidth
Next
转到开始»运行,然后键入cmd
。现在您将进入命令提示符。您可以在那里输入 systeminfo
,然后按Enter。花费几秒钟即可获取所有系统信息。您也可以找到处理器数据。
Processor(s): 1 Processor(s) Installed.
[01]: x86 Family 15 Model 4 Stepping 10 GenuineIntel
C:\ Documents and Settings \ mr85464> systeminfo
OS Name: Microsoft Windows XP Professional
OS Version: 5.1.2600 Service Pack 3 Build 2600
OS Manufacturer: Microsoft Corporation
OS Configuration: Member Workstation
OS Build Type: Multiprocessor Free
Product ID: 76487-640-3658033-23932
Original Install Date: 3/16/2012, 2:03:44 PM
System Up Time: 5 Days, 21 Hours, 35 Minutes, 51 Seconds
System Manufacturer: Dell Inc.
System Model: OptiPlex 210L
System type: X86-based PC
Processor(s): 1 Processor(s) Installed.
[01]: x86 Family 15 Model 4 Stepping 10 GenuineIntel
~2992 Mhz
more
。