Doubles possibles:
Comment savoir si un ordinateur a un processeur ou un système d'exploitation 64 bits
Détecter Windows Server version 32/64-bit dans la CLI
Version du système d'exploitation: 32 bits ou 64 bits?
Comment déterminer si mon système Windows est 32 bits ou 64 bits à partir de la ligne de commande?
Je veux connaître le nombre de bits du système d'exploitation, pas le matériel.
Cette question s’applique strictement à ligne de commande uniquement , je ne souhaite aucune solution graphique.
À partir d'une invite de commande avec privilèges élevés, tapez wmic os get osarchitecture
. Je pense que la sortie est assez évidente: elle renverra soit "32 bits", soit "64 bits".
Le programme de la console systeminfo le montrera. Vous voudrez rechercher la ligne "Type de système:". Pour les systèmes 32 bits, il sera écrit "PC à base de x86". Pour les systèmes à 64 bits, il sera écrit "PC à base de x64".
Ou, pour une méthode plus rapide, vous pouvez simplement vérifier la variable d’environnement PROCESSOR_ARCHITECTURE. Les systèmes 64 bits diront que les systèmes AMD64 et 32 bits doivent dire «x86». Pour vérifier cela, vous pouvez simplement y faire écho:
echo %PROCESSOR_ARCHITECTURE%
David Wang sur les blogs MSDN développe ce sujet HOWTO: Détecter les bits de processus
Vous pouvez vérifier si la variable d'environnement %PROGRAMFILES(x86)%
est déclarée. Sur les systèmes 32 bits, il sera non défini (seul %PROGRAMFILES%
le sera). C’est également plus sûr de simplement vérifier si le répertoire Program Files (x86) existe, puisqu’il peut être déplacé (ou même supprimé).
J'ai écrit une simple application en ligne de commande qui vous dira si votre processeur et votre système d'exploitation sont en 64 bits ou en 32 bits.
Exemple de lecture:
C:\bitchecker
The CPU is 64-bit and the OS is 32-bit
Par requête, voici le source, compilé à l'aide de l'option CLI, écrit en AutoIt.
If @CPUARCH = "x86" Then
$CPUARCH = "32-bit"
Else
$CPUARCH = "64-bit"
EndIf
If @OSARCH = "x86" Then
$OSARCH = "32-bit"
Else
$OSARCH = "64-bit"
EndIf
ConsoleWrite("The CPU is " & $CPUARCH & " and the OS is " & $OSARCH)
Et voici un exemple si vous voulez des commutateurs pour CPU (-c) et OS (-o):
Dim $CPUARCH, $OSARCH
If @CPUARCH = "x86" Then
$CPUARCH = "32-bit"
Else
$CPUARCH = "64-bit"
EndIf
If @OSARCH = "x86" Then
$OSARCH = "32-bit"
Else
$OSARCH = "64-bit"
EndIf
If $CmdLine[0] = 0 Then
ConsoleWrite("The CPU is " & $CPUARCH & " and the OS is " & $OSARCH)
Else
Select
Case $CmdLine[1] = "-c"
ConsoleWrite($CPUARCH)
Case $CmdLine[1] = "-o"
ConsoleWrite($OSARCH)
Case Else
ConsoleWrite("The CPU is " & $CPUARCH & " and the OS is " & $OSARCH)
EndSelect
EndIf
Et si vous vérifiiez simplement la présence de
% SYSTEMROOT%\Program Files (x86)
ou peu importe comment ça s'appelle?