2010-01-15 05:28:57 +0000 2010-01-15 05:28:57 +0000
26
26

Comment puis-je déterminer si la version actuelle de Windows est en 32 bits ou en 64 bits à partir de la ligne de commande ?

Quelle est la ligne de commande pour savoir si le système d'exploitation fonctionne avec une version 32 bits ou 64 bits de Windows ?

Réponses (9)

34
34
34
2010-01-15 05:38:37 +0000

Vous pouvez l'obtenir via WMI :

wmic OS get OSArchitecture

Exemple sur mon système :

C:\>wmic OS get OSArchitecture
OSArchitecture
32-bit
13
13
13
2011-10-20 15:43:09 +0000

Je ne peux pas joindre la réponse à un autre poste donc ici. Transmettre 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 commande (scripts batch - de toute façon, vous aimez les appeler B-) ).

Même avec le findstr - il ne trouve pas cela sur la version de Windows dans une autre langue. Sur une langue d'Europe centrale, win7 os, il renvoie également … “X86-based”… sur le résultat mais quelque chose d'autre que le “type” que l'on cherchait. 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 l'os directement.

Une autre solution rapide possible peut être d'examiner une variable (en travaillant au moins sur win7 chez moi).

echo %PROCESSOR_ARCHITECTURE%

Ok - c'est assez long à retenir mais on peut se souvenir d'un set | findstr ARCH possible.

Bien sûr - certains peuvent modifier une variable système de façon moins fiable que wmic. Mais ils peuvent être utilisés rapidement.

J'espère que je pourrais aider quelqu'un.

12
12
12
2012-06-24 15:23:24 +0000

Il existe de nombreuses façons de vérifier l'architecture du processeur sous Windows :

  • La façon la plus rapide, la plus simple et la plus compatible de vérifier l'architecture du processeur sous au moins Windows 2000 et plus est d'examiner la variable d'environnement PROCESSOR_ARCHITECTURE [ (http://msdn.microsoft.com/en-us/library/windows/desktop/aa384274.aspx#environment_variables) :

  • Cependant, cela peut donner des résultats différents, selon la façon dont l'invite de commande est ouverte. Pour éviter d'obtenir “résultats inattendus” dus à WoW64 , vous pouvez le lire directement dans le registre (Microsoft a fait pas moins de deux saisies dans la clé ) :

  • Microsoft suggère également de lire le magasin d'informations sur le matériel dans le registre :

  • Vous pouvez également vérifier l'existence de la version x86 du répertoire Program Files (ou de la variable d'environnement qui y pointe) puisqu'elle n'existerait que sur un système 64 bits. Contrairement à la variable PROCESSOR_ARCHITECTURE, cela ne dépend pas de la façon dont l'invite de commande est exécutée puisque le répertoire existe (ou non) quelle que soit la façon dont l'invite est ouverte :

Ces méthodes peuvent être combinées dans un seul fichier batch (par exemple cpuinfo.bat) et fournissent un moyen agréable et rapide de vérifier le système à partir d'une invite de commande standard de Windows NT sans avoir besoin de recourir à l'exécution d'autres programmes ou cadres.

Le fichier de lot 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![Test results](https://i.stack.imgur.com/4mmyH.png)" | 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.

0x1&

6
6
6
2012-06-24 14:16:19 +0000

Je n'ai pas pu trouver la propriété OSArchitecture (selon la réponse de Phoebus), je suggère donc d'utiliser la propriété SystemType dans ComputerSystem à la 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
4
4
4
2010-01-15 05:42:49 +0000

Ligne de commande régulière : wmic OS get OSArchitecture (IIRC)

PowerShell : (gwmi win32_computersystem).SystemType

1
1
1
2010-01-15 06:35:11 +0000

Vous pouvez trouver ces informations en utilisant “System Information”

Start-> Run -> winmsd.exe

Sous “System Summary”/ System Type, vous pouvez trouver la version du système d'exploitation

X64 -> 64 Bit X86 -> 32 Bit

Réponse de JohnT dans l'interface graphique ;)

1
1
1
2010-01-15 05:38:45 +0000

si vous faites référence à l'OS Windows, 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
1
1
1
2012-03-28 07:21:13 +0000

Allez dans Démarrer “ Exécuter puis tapez cmd. Vous êtes maintenant à l'invite de commande. Vous pouvez y taper systeminfo et ensuite appuyer sur la touche Entrée. Il faut quelques secondes pour obtenir toutes les informations sur 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
  • x86 Family signifie que votre processeur est en 32 bits.
  • x64 Famille signifie que votre processeur est en 64 bits.

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
0
0
0
2013-06-25 16:19:58 +0000

J'ai utilisé un code simple :

:arch
set p | findstr /i AMD64 > nul
if not errorlevel 1 goto no64
goto eof
:no64
code to execute
:eof