¿Cuál es la línea de comando para averiguar si el sistema operativo está ejecutando una versión de 32 bits o 64 bits de Windows?
¿Cuál es la línea de comando para averiguar si el sistema operativo está ejecutando una versión de 32 bits o 64 bits de Windows?
Respuestas:
Puede obtener esto a través de WMI:
wmic OS get OSArchitecture
Ejemplo en mi sistema:
C:\>wmic OS get OSArchitecture
OSArchitecture
32-bit
Línea de comando:
systeminfo | findstr /I type:
salida de ejemplo:
Tipo de sistema: PC basada en X86
X86 indica un sistema de 32 bits en este ejemplo.
(el /I
parámetro indica búsqueda sin distinción entre mayúsculas y minúsculas )
systeminfo | findstr /I typ:
ya que toda la entrada esSystemtyp: x64-based PC
systeminfo | findstr /C:"System Type"
También recupera la misma información, pero supongo que el texto más largo es menos preferido.
No puedo adjuntar respuesta a otra publicación, así que aquí. Establecer el resultado de systeminfo
- lleva una cantidad de tiempo bastante buena y escribe en la consola, por lo que no es la mejor solución para los archivos de comandos (scripts por lotes; de todos modos, le gusta llamarlos B-)).
Incluso con el findstr
- no encuentra esto en la versión de Windows en otro idioma. En un idioma centroeuropeo win7 os también devuelve ... "basado en X86" ... en el resultado, pero buscaban algo más en el "tipo". No estoy seguro de que pueda variar en otras variantes de idioma del sistema operativo.
Probablemente el método "wmic" es el más confiable: pregunta directamente al sistema operativo.
Otra posible solución rápida puede ser examinar una variable (al menos trabajando en win7 para mí).
echo %PROCESSOR_ARCHITECTURE%
Ok, es bastante largo de recordar, pero es posible set | findstr ARCH
recordarlo.
Claro, algunos pueden modificar una variable del sistema, por lo que no es tan confiable como wmic
. Pero se puede usar rápidamente.
Espero poder ayudar a alguien.
Existen numerosas formas de verificar la arquitectura del procesador en Windows:
La forma más rápida, fácil y compatible de verificar la arquitectura del procesador en Windows 2000 y versiones posteriores es examinar la PROCESSOR_ARCHITECTURE
variable de entorno :
echo %PROCESSOR_ARCHITECTURE%
Sin embargo, esto puede dar resultados diferentes, dependiendo de la forma en que se abre el símbolo del sistema. Para evitar obtener "resultados inesperados" debido a WoW64 , puede leerlo directamente desde el registro (Microsoft realizó no menos de dos errores tipográficos en la clave ):
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE
Microsoft también sugiere leer el almacén de información de hardware del registro:
reg query "HKLM\Hardware\Description\System\CentralProcessor\0" /v Identifier
También puede verificar la existencia de la versión x86 del Program Files
directorio (o la variable de entorno que lo señala), ya que solo existiría en un sistema de 64 bits. A diferencia de la PROCESSOR_ARCHITECTURE
variable, esto no depende de la forma en que se ejecuta el símbolo del sistema ya que el directorio existe (o no) independientemente de cómo se abra el indicador:
::via env-var
if not defined ProgramFiles(x86) echo 32-bit
::via file-system
if not exist "%systemdrive%\Program Files (x86)" echo 32-bit
Estos métodos se pueden combinar en un único archivo por lotes (por ejemplo, cpuinfo.bat
) y proporciona una manera agradable y rápida de verificar 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 archivo por lotes a continuación se probó en sistemas de 32 bits e Intel de 64 bits (pruebe 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\0" | 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.
No pude encontrar la OSArchitecture
propiedad (según la respuesta de phoebus), por lo que sugeriría usar la SystemType
propiedad en su ComputerSystem
lugar.
Ejecutar el comando wmic computersystem get systemtype
desde un símbolo del sistema da
C:\Windows\system32>wmic computersystem get systemtype
SystemType x64-based PC
Si se refiere al sistema operativo Windows, puede 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
Vaya a Inicio »Ejecutar y luego escriba cmd
. Ahora estará en el símbolo del sistema. Allí puede escribir systeminfo
y luego presionar enter. Tarda unos segundos en obtener toda la información del sistema. También puede encontrar los datos del procesador.
Processor(s): 1 Processor(s) Installed.
[01]: x86 Family 15 Model 4 Stepping 10 GenuineIntel
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
more
.