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

¿Cómo puedo determinar si la versión actual de Windows es de 32 o 64 bits desde la línea de comandos?

¿Cuál es la línea de comandos para averiguar si el sistema operativo está ejecutando una versión de 32 bits o de 64 bits de Windows?

Respuestas (9)

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

Puede obtener esto a través de WMI:

wmic OS get OSArchitecture

Ejemplo en mi sistema:

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

No puedo adjuntar la respuesta a otro puesto así que aquí. Canalizar el resultado de systeminfo - está tomando una buena cantidad de tiempo y escribe en la consola por lo que no es la mejor solución para los archivos de comandos (secuencias de comandos por lotes - de cualquier manera te gusta llamarlos B-) ).

Incluso con el findstr - no encuentra esto en la versión de otro idioma de las ventanas. En un idioma centroeuropeo win7 os que también devuelve … “basado en X86” … en el resultado, pero algo diferente en entonces el “tipo” estaban buscando. No estoy seguro de que pueda variar en otras variantes lingüísticas del sistema operativo.

Probablemente el método “wmic” es el más fiable - pregunta directamente al SO.

Otra posible solución rápida puede ser examinar una variable (al menos a mí me funciona en win7).

echo %PROCESSOR_ARCHITECTURE%

Ok - es bastante largo de recordar pero posible un set | findstr ARCH puede ser recordado.

Claro - algunos pueden modificar una variable del sistema por lo que no es tan fiable que wmic. Pero se puede utilizar rápidamente.

Espero haber podido ayudar a alguien.

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

Existen numerosas formas de comprobar la arquitectura del procesador en Windows:

  • La forma más rápida, sencilla y compatible de comprobar la arquitectura del procesador en al menos Windows 2000 y superiores es examinar la variable de entorno PROCESSOR_ARCHITECTURE

  • Sin embargo, esto puede dar diferentes resultados, dependiendo de la forma en que se abra el símbolo de sistema. Para evitar obtener “resultados inesperados” debido a WoW64 , puede leerlo directamente desde el registro (Microsoft cometió nada menos que dos errores tipográficos en la clave ):

  • Microsoft también sugiere leer el almacén de información de hardware desde el registro:

  • También puede comprobar la existencia de la versión x86 del directorio Program Files (o la variable de entorno que apunta a él) ya que sólo existiría en un sistema de 64 bits. A diferencia de la variable PROCESSOR_ARCHITECTURE, esto no depende de la forma en que se ejecute el símbolo del sistema, ya que el directorio existe (o no) independientemente de cómo se abra el símbolo del sistema:

Estos métodos pueden combinarse en un único archivo por lotes (por ejemplo, cpuinfo.bat) y proporciona una forma agradable y rápida de comprobar el sistema desde un símbolo del sistema estándar de Windows NT sin necesidad de recurrir a la ejecución de otros programas o marcos.

El siguiente archivo por lotes fue probado en sistemas de 32 bits e Intel de 64 bits (por favor, pruébelo en AMD64), dando resultados correctos en <1 segundo:

@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

No pude encontrar la propiedad OSArchitecture (según la respuesta de phoebus) así que sugeriría usar la propiedad SystemType en ComputerSystem en su lugar.

Ejecutando el comando wmic computersystem get systemtype desde un prompt de comandos da

C:\Windows\system32>wmic computersystem get systemtype  

SystemType x64-based PC
4
4
4
2010-01-15 05:42:49 +0000

Línea de comandos normal: wmic OS get OSArchitecture (IIRC)

PowerShell: (gwmi win32_computersystem).SystemType

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

Puede encontrar esa información usando “System Information”

Start-> Run -> winmsd.exe

En “System Summary”/ System Type puede encontrar la versión del sistema operativo

X64 -> 64 Bit X86 -> 32 Bit

La respuesta de JohnT en GUI ;)

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

si te refieres al sistema operativo windows, puedes usar vbscript con 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

Vaya a Inicio “ Ejecutar y escriba cmd. Ahora estará en el símbolo del sistema. Allí puedes escribir systeminfo y luego presionar enter. Tarda unos segundos en obtener toda la información de tu sistema. También puedes encontrar los datos del procesador.

Processor(s): 1 Processor(s) Installed.
                           [01]: x86 Family 15 Model 4 Stepping 10 GenuineIntel
  • Familia x86 significa que su procesador es de 32 bits.
  • x64 Family significa que su procesador es de 64 bits.

C:\NDocumentos y configuraciones\Nmr85464>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

Código simple que he utilizado:

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