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

Como posso determinar se o meu Windows é 32-bit ou 64-bit usando um comando?

Duplicações possíveis: Como saber se um computador tem um CPU ou SO de 64-bit Detectar a versão 32/64-bit do Windows Server no CLI [ Versão do SO: 32-bit ou 64-bit? (https://superuser.com/questions/96092/os-version-32-bit-or-64-bit)

Como posso determinar se o meu sistema Windows é 32-bit ou 64-bit a partir da linha de comandos?

Quero saber a bitness do sistema operativo, não do hardware.

Esta pergunta aplica-se apenas à linha de comandos*** , não quero nenhuma solução GUI.

Respostas (5)

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

De um prompt de comando elevado, digite wmic os get osarchitecture. A saída é bastante óbvia, penso eu - vai retornar ou “32-bit” ou “64-bit”.

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

O programa da consola Systeminfo irá mostrar isto. Você vai querer procurar pela linha “Tipo de Sistema:”. Para sistemas de 32 bits, vai dizer “PC baseado em x86”. Para sistemas de 64 bits, vai dizer “PC baseado em x64”.

Ou, para um método mais rápido, pode simplesmente verificar a variável de ambiente PROCESSOR_ARCHITECTURE. Os sistemas de 64 bits vão dizer AMD64 e os sistemas de 32 bits devem dizer “x86”. Para verificar isto pode simplesmente fazer um eco:

echo %PROCESSOR_ARCHITECTURE%

David Wang over no MSDN Blogs expande-se sobre isto HOWTO: Detectar Bitness Process Bitness

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

É possível verificar se a variável de ambiente %PROGRAMFILES(x86)% é declarada. Em sistemas de 32 bits, ela não será definida (apenas %PROGRAMFILES% será). Isto também é mais seguro do que verificar se o directório Ficheiros de Programas (x86) existe, uma vez que pode ser movido (ou mesmo apagado).

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

Escrevi uma simples aplicação de linha de comando que lhe dirá se o seu processador e o seu SO são 64-bit ou 32-bit.

Exemplo de leitura:

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

Por pedido, aqui está a fonte, compilada usando a opção CLI, escrita em 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)

E aqui está um exemplo se quiser comutadores para CPU (-c) e SO (-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
4
4
4
2011-08-11 17:51:04 +0000

E se apenas verificar a presença de

%SYSTEMROOT%\Program Files(x86)

ou como quer que se chame?