Réponses:
Ligne de commande:
systeminfo | findstr /I type:
exemple de sortie:
Type de système: PC basé sur X86
X86 indique un système 32 bits dans cet exemple.
(le /I
paramètre indique une recherche insensible à la casse )
systeminfo | findstr /I typ:
car l'entrée entière estSystemtyp: x64-based PC
systeminfo | findstr /C:"System Type"
récupère également les mêmes informations, mais je suppose qu'un texte plus long est donc moins préféré.
Je ne peux pas joindre de réponse à un autre message ici. Piping le résultat de systeminfo
- prend beaucoup de temps et écrit sur la console, ce n'est donc pas la meilleure solution pour les fichiers de commandes (scripts de commandes - de toute façon vous aimez les appeler B-)).
Même avec le findstr
- il ne trouve pas cela sur une autre version linguistique de Windows. Sur une langue d'Europe centrale win7 os, il renvoie également ... "basé sur X86" ... sur le résultat mais quelque chose d'autre que le "type" recherchait. Je ne suis pas sûr que cela puisse varier sur d'autres variantes linguistiques de l'os.
La méthode "wmic" est probablement la plus fiable - elle demande directement au système d'exploitation.
Une autre solution rapide possible peut être d'examiner une variable (au moins travailler sur win7 chez moi).
echo %PROCESSOR_ARCHITECTURE%
Ok - c'est assez long à retenir mais possible set | findstr ARCH
on peut s'en souvenir.
Bien sûr - certains peuvent modifier une variable système donc pas aussi fiable que wmic
. Mais peut être utilisé rapidement.
J'espère pouvoir aider quelqu'un.
Il existe de nombreuses façons de vérifier l'architecture du processeur sous Windows:
Le moyen le plus rapide, le plus simple et le plus compatible pour vérifier l'architecture du processeur dans au moins Windows 2000 et versions ultérieures consiste à examiner la PROCESSOR_ARCHITECTURE
variable d'environnement :
echo %PROCESSOR_ARCHITECTURE%
Cependant, cela peut donner des résultats différents, selon la façon dont l'invite de commande est ouverte. Pour éviter d'obtenir des «résultats inattendus» dus à WoW64 , vous pouvez le lire directement à partir du registre (Microsoft a fait pas moins de deux fautes de frappe dans la clé ):
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE
Microsoft suggère également de lire la banque d'informations sur le matériel dans le registre:
reg query "HKLM\Hardware\Description\System\CentralProcessor\0" /v Identifier
Vous pouvez également vérifier l'existence de la version x86 du Program Files
répertoire (ou de la variable d'environnement qui le pointe) car elle n'existerait que sur un système 64 bits. Contrairement à la PROCESSOR_ARCHITECTURE
variable, cela ne dépend pas de la façon dont l'invite de commandes est exécutée, car le répertoire existe (ou non), quelle que soit la façon dont l'invite est ouverte:
::via env-var
if not defined ProgramFiles(x86) echo 32-bit
::via file-system
if not exist "%systemdrive%\Program Files (x86)" echo 32-bit
Ces méthodes peuvent être combinées dans un seul fichier de commandes (par exemple, cpuinfo.bat
) et fournissent un moyen agréable et rapide de vérifier le système à partir d'une invite de commandes Windows NT standard sans avoir à recourir à l'exécution d'autres programmes ou frameworks.
Le fichier de commandes ci-dessous a été testé sur des systèmes 32 bits et Intel 64 bits (veuillez tester sur AMD64), donnant des résultats corrects en <1 seconde:
@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.
Je n'ai pas pu trouver la OSArchitecture
propriété (selon la réponse de Phoebus), donc je suggère d'utiliser la SystemType
propriété à la ComputerSystem
place.
L'exécution de la commande à wmic computersystem get systemtype
partir d'une invite de commande donne
C:\Windows\system32>wmic computersystem get systemtype
SystemType x64-based PC
si vous faites référence à Windows OS, vous pouvez utiliser vbscript avec 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
Allez dans Démarrer »Exécuter, puis tapez cmd
. Vous serez maintenant à l'invite de commande. Là, vous pouvez taper systeminfo
, puis appuyez sur Entrée. Il faut quelques secondes pour obtenir toutes les informations de votre système. Vous pouvez également trouver les données du processeur.
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
.