¿Cuál es la mejor y más rápida forma de detectar si está ejecutando una versión de Windows Server de 32 o 64 bits desde la línea de comandos?
(Cygwin está instalado)
¿Cuál es la mejor y más rápida forma de detectar si está ejecutando una versión de Windows Server de 32 o 64 bits desde la línea de comandos?
(Cygwin está instalado)
Una forma un poco más rápida sería verificar la existencia del directorio% ProgramFiles (x86)%. Si existe, entonces está ejecutando 64 bits, si no existe, entonces está ejecutando 32 bits.
One-liner rápido:
if exist "%ProgramFiles(x86)%" echo 64-bit
Eso dará salida 64-bit
si el directorio existe. Sin embargo, eso fallaría si no existiera como una variable pero existiera como un directorio (como% ProgramFiles (x86)%).
También puede usar la herramienta de búsqueda para tener una forma más precisa de determinar la bitness.
set | find "ProgramFiles(x86)"
o usando el systeminfo
comando previamente
systeminfo | find /I "System type"
(incluido el /I
para trabajar en XP / 2003/2008 / etc)
systeminfo | find "System type"
Capitol T no devuelve nada.Qué tal si:
Esto devolverá x86 en sistemas de 32 bits y AMD64 (o IA64 ) en sistemas de 64 bits.
fuente
Program Files (x86)
directorio como lo publicó otra persona. Usted podría también comprobar la existencia de la%PROGRAMFILES(X86)%
variable de entorno (si no existe, entonces estás en una máquina x86).Enumerará bastante, alrededor de 10 campos hay uno llamado Tipo de sistema. Esto te dirá si es x86 o x64
fuente
Esto depende del entorno local y es lento .
Tenga en cuenta que es x86 en 32 bits
cmd.exe
.Forma correcta:
fuente
PROCESSOR_ARCHITEW6432
Otra forma de verificar con una consulta WMI:
Potencia Shell:
CMD:
Extraído de aquí: http://www.sysadmit.com/2015/10/windows-como-saber-si-es-de-32-o-64-bits.html
fuente
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 laPROCESSOR_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.Esto se probó en sistemas de 32 bits e Intel de 64 bits (pruebe en AMD64), dando resultados correctos en <1 segundo:
fuente
SOLUCIÓN GENÉRICA
Realmente tuve que profundizar en esto y echar un vistazo real en WMI.
La mejor opción en mi opinión es simplemente usar esta cadena de PowerShell
Esto incluso funciona con viejos Windows 2003 y XP
La respuesta será una de
PC basada en x64
O si está volviendo a algunas herramientas cmd anticuadas
fuente
Aunque esta no es la respuesta ideal, y
systeminfo.exe
debería ser su método preferido para determinar el tipo de sistema, es decir, 32 bits o 64 bits, esta solución se ejecuta un poco más rápido si no desea esperar asysteminfo.exe
que termine su trabajo.El comando:
Con los cambios correctos en la consulta del registro y la cadena de búsqueda, también puede verificar las versiones del sistema operativo desde Windows 95.
systeminfo.exe
Es más exacto y la forma correcta de consultar,reg.exe query
es más rápido y más compatible con versiones anteriores.fuente
reg query "HKLM\[..as before..]\Version" /v BuildLabEx
Mejor SOLUCIÓN:
Método 1:
(Validación en dos pasos con
PROCESSOR_ARCHITECTURE
yPROCESSOR_ARCHITEW6432
)Método 2:
fuente: /superuser//a/293143/249349
fuente
Usando la interfaz WMI, bajo el símbolo del sistema. Abra el símbolo del sistema como administrador, escriba
wmic OS get OSArchitecture
y presioneEnterfuente