Ответы:
Командная строка:
systeminfo | findstr /I type:
пример вывода:
Тип системы: ПК на базе X86
X86 обозначает 32-битную систему в этом примере.
( /I
параметр указывает поиск без учета регистра )
systeminfo | findstr /I typ:
поскольку вся записьSystemtyp: x64-based PC
systeminfo | findstr /C:"System Type"
также получает ту же информацию, но я думаю, более длинный текст, поэтому менее предпочтительным.
Я не могу прикрепить ответ к другому посту, поэтому здесь. Конвейер результата systeminfo
- занимает довольно много времени и записывает в консоль, так что это не лучшее решение для командных файлов (пакетные сценарии - во всяком случае, вы любите называть их B-)).
Даже с findstr
- он не находит это на другой языковой версии Windows. На среднеевропейском языке win7 os он также возвращает ... "на основе X86" ... на результат, но что-то другое, что искали "тип". Я не уверен, что это может отличаться от других языковых вариантов ОС.
Вероятно, «wmic» метод является наиболее надежным - он запрашивает ОС напрямую.
Другим возможным быстрым решением может быть проверка переменной (по крайней мере, работа на 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
Microsoft также предлагает прочитать информацию об оборудовании из реестра:
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-битных и 64-битных системах Intel (пожалуйста, протестируйте на 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.
Я не мог найти OSArchitecture
собственность (согласно ответу Феба), поэтому я предложил бы использовать SystemType
собственность ComputerSystem
вместо этого.
Запуск команды wmic computersystem get systemtype
из командной строки дает
C:\Windows\system32>wmic computersystem get systemtype
SystemType x64-based PC
если вы имеете в виду ОС 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
а затем нажать клавишу ввода. Требуется несколько секунд, чтобы получить всю информацию о вашей системе. Вы можете найти данные процессора тоже.
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
.