Відповіді:
Ви можете отримати це за допомогою WMI:
wmic OS get OSArchitecture
Приклад у моїй системі:
C:\>wmic OS get OSArchitecture
OSArchitecture
32-bit
Командний рядок:
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" ... за результатом, але щось інше, ніж тоді "тип" шукали. Я не впевнений, що це може відрізнятися від інших мовних варіантів os.
Напевно, "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
Корпорація Майкрософт також пропонує прочитати апаратний запас інформації з реєстру:
reg query "HKLM\Hardware\Description\System\CentralProcessor\0" /v Identifier
Ви також можете перевірити наявність версії x86 Program Files
каталогу (або змінної середовища, яка вказує на нього), оскільки вона існувала б лише у 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).
@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
та натиснути клавішу Enter. Отримати всю інформацію про вашу систему потрібно кілька секунд. Ви також можете знайти дані процесора.
Processor(s): 1 Processor(s) Installed.
[01]: x86 Family 15 Model 4 Stepping 10 GenuineIntel
C: \ Документи та параметри \ 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
.