Esta pregunta ya tiene una respuesta aquí:
- ¿Cómo obtengo la versión de Windows como variable? 1 respuesta
- ¿Qué versión de Windows tengo? [duplicado] 9 respuestas
Estoy trabajando con InstallAnywhere, un antiguo programa para crear instaladores. Me gustaría instalar un archivo en particular, solo en el caso de Windows XP y Windows Vista.
Debido a las limitaciones de InstallAnywhere, esto no es posible. Solo puedo decidir eliminar el archivo una vez que ya se ha instalado, según una regla.
Dentro de esa regla, puedo verificar la plataforma en la que me estoy ejecutando, lo que me da la posibilidad de verificar Windows XP, Windows Vista, Windows 7, etc., pero no Windows 10. No puedo decir "Realice esto acción cuando el sistema no es XP o Vista ", así que necesito decir" Realice esta acción en todas esas plataformas, que no son XP o Vista ".
Sin embargo, puedo iniciar comandos de línea de comandos y obtener el resultado, así que esta es mi pregunta: ¿hay algún comando que pueda usar para determinar si estoy trabajando en un sistema Windows 10?
fuente
winver
aparecerá el cuadro de diálogo Acerca de Windows si se escribe en cmd o Inicio. Funcionaría eso? Alternativamente: stackoverflow.com/questions/1792740/…ver
. Por ejemplo, en mi sistema Windows 7 aparece "Microsoft Windows [Versión 6.1.7601]" que me dice que estoy ejecutando Windows 7 (que tiene la versión número 6.1 ).Respuestas:
¿Hay un comando para determinar si estoy trabajando en un sistema Windows 10?
Puedes usar
wmic
.El siguiente comando devolverá la versión de Windows.
Salida de ejemplo:
Si desea un poco más de información, puede usar el siguiente archivo por lotes (GetOS.cmd), que recuperará y mostrará:
La versión del sistema operativo se almacena en
%_os
, la versión principal del Service Pack se almacena en%_sp%
, y la arquitectura se almacena en%_bits%
.Notas:
No se ha probado por completo, ya que no tengo todas las combinaciones de SO y Service Pack para probarlo.
El
for
comando recupera solo la tercera parte (token) del sistema operativo. Esto funcionará para las versiones de escritorio (si desea distinguir Server 2008 de otras versiones, necesitará encontrar otra solución).%_os
se establece en uno de los siguientes valores:Server
,Vista
,7
,8
,8.1
o10
.Salida de ejemplo:
Otras lecturas
fuente
wmic os get Caption | findstr /V Caption
pause
antesendlocal
de dar al usuario la oportunidad de leer la salida antes de que se cierre la ventana. ¿Eso te sigue a ti también?No puedo creer tanto tiempo y no tengo ningún comando
Funciona en redirecciones para que puedas hacer
Pero normalmente debe escribir "para esta y todas las versiones futuras", por lo que es mejor que enumere las anteriores.
fuente
ver
no no trabajar en PowerShell. EsCMD
específico.iex "ver"
sí!ver
puede ser un poco engañosa. En la máquina en la que estoy sentado ahora mismo vuelveMicrosoft Windows [Version 6.1.7601]
. Pero estoy bastante seguro de que ejecuta Windows 7, no Windows 6.obtiene muchas informaciones útiles como sistema operativo, tipo de sistema (32/64 bit) y durante tanto tiempo:
fuente
systeminfo
también. Como puede ver en la imagen de arriba, mostrará su sistema operativo, así como otra información que pueda necesitar.systeminfo
de hecho, da la información que estoy buscando (de ahí el voto positivo), pero lleva bastante tiempo (en mi PC toma más de 15 segundos). Por lo tanto, he optado por lawmic
solución, que se encuentra en la siguiente respuesta.cmd /c systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
No tengo ninguna experiencia con InstallAnywhere, pero hay dos opciones para ver qué sistema operativo se instala utilizando una línea de comandos.
Usando Cmd
Usando el comando
systeminfo.exe
, puede ver el resultado debajo del campoOS Name
. Esto puede darle más información de la que necesita.Se puede encontrar más información sobre este comando en Microsoft TechNet .
Potencia Shell
Alternativamente, puede usar el siguiente script de Powershell que le devolverá la información exacta que desea.
fuente