2011-08-11 17:44:11 +0000 2011-08-11 17:44:11 +0000
83
83

Come posso determinare se il mio Windows è a 32-bit o 64-bit usando un comando?

Possibile duplicare: Come si capisce se un computer ha una CPU a 64-bit o un OS Rileva versione Windows Server 32/64-bit in CLI Versione OS: 32-bit o 64-bit? &003

Come posso determinare se il mio sistema Windows è a 32-bit o 64-bit dalla linea di comando?

Voglio conoscere la bitness del sistema operativo, non l'hardware.

Questa domanda si applica rigorosamente solo alla linea di comando , non voglio soluzioni GUI.

Risposte (5)

128
128
128
2011-08-11 17:53:25 +0000

Da un prompt di comando elevato, digitare wmic os get osarchitecture. L'uscita è abbastanza ovvia, credo - restituirà o “32-bit” o “64-bit”.

58
58
58
2011-08-11 17:57:17 +0000

Il programma della console systeminfo lo mostrerà. Si vorrà cercare la linea “Tipo di sistema:”. Per i sistemi a 32 bit, si dirà “PC basato su x86”. Per i sistemi a 64 bit, dirà “x64-based PC”.

Oppure, per un metodo più rapido, potete semplicemente controllare la variabile d'ambiente PROCESSOR_ARCHITECTURE. I sistemi a 64 bit diranno AMD64 e i sistemi a 32 bit diranno “x86”. Per verificare questo si può semplicemente fare l'eco:

echo %PROCESSOR_ARCHITECTURE%

David Wang over at MSDN Blogs si espande su questo HOWTO: Detect Process Bitness

8
8
8
2011-08-11 17:54:12 +0000

È possibile verificare se la variabile d'ambiente %PROGRAMFILES(x86)% è dichiarata. Su sistemi a 32 bit, non sarà non definita (solo %PROGRAMFILES% lo sarà). Questo è anche più sicuro che controllare semplicemente se la directory Program Files (x86) esiste, dato che può essere spostata (o anche cancellata).

8
8
8
2011-08-11 18:21:03 +0000

Ho scritto una semplice applicazione a riga di comando che vi dirà se il vostro processore e il vostro sistema operativo sono a 64 bit o a 32 bit.

Esempio di lettura:

C:\bitchecker
The CPU is 64-bit and the OS is 32-bit

Per richiesta, ecco il sorgente, compilato utilizzando l'opzione CLI, scritto in 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)
``` ```
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

E qui c'è un esempio se volete switch per CPU (-c) e sistema operativo (-o):

&001

4
4
4
2011-08-11 17:51:04 +0000

Cosa succede se si verifica solo la presenza di

%SYSTEMROOT%\File di programma(x86)

o come si chiama?