Esta pergunta já tem uma resposta aqui:
- Como obtenho a versão do Windows como uma variável? 1 resposta
- Qual versão do Windows eu tenho? [duplicado] 9 respostas
Estou trabalhando com o InstallAnywhere, um programa antigo para criar instaladores. Gostaria de instalar um arquivo específico, apenas no caso do Windows XP e Windows Vista.
Devido às limitações do InstallAnywhere, isso não é possível. Só posso decidir excluir o arquivo depois que ele já estiver instalado, com base em uma regra.
Dentro dessa regra, posso verificar a plataforma na qual estou executando, o que me dá a possibilidade de verificar o Windows XP, Windows Vista, Windows 7, etc., mas não o Windows 10. Não posso dizer "Executar isso" ação quando o sistema não é XP ou Vista ", então preciso dizer" Execute esta ação em todas as plataformas que não sejam XP ou Vista ".
No entanto, eu posso iniciar comandos de linha de comando e pegar o resultado, então aqui está minha pergunta: existe um comando que eu possa usar para determinar se estou trabalhando em um sistema Windows 10?
fonte
winver
irá aparecer a caixa de diálogo Sobre o Windows se digitada em cmd ou Iniciar. Isso funcionaria? Como alternativa - stackoverflow.com/questions/1792740/…ver
. Por exemplo, no meu sistema Windows 7, recebo "Microsoft Windows [Versão 6.1.7601]", que informa que estou executando o Windows 7 (que possui o número de versão 6.1 ).Respostas:
Existe um comando para determinar se estou trabalhando em um sistema Windows 10?
Você pode usar
wmic
.O comando a seguir retornará a versão do Windows.
Exemplo de saída:
Se você quiser um pouco mais de informações, poderá usar o seguinte arquivo em lotes (GetOS.cmd), que será recuperado e exibido:
A versão do sistema operacional é armazenada
%_os
, a versão principal do Service Pack é armazenada%_sp%
e a arquitetura é armazenada em%_bits%
.Notas:
Não completamente testado, pois não tenho todas as combinações de SO e Service Pack para testá-lo.
O
for
comando recupera apenas a 3ª parte (token) do sistema operacional. Isso funcionará para as versões da área de trabalho (se você quiser distinguir o Server 2008 de outras versões, precisará encontrar outra solução).%_os
irá ser definido como um dos seguintes valores:Server
,Vista
,7
,8
,8.1
ou10
.Exemplo de saída:
Leitura adicional
fonte
wmic os get Caption | findstr /V Caption
pause
antes doendlocal
para dar ao usuário a chance de ler a saída antes que a janela se feche. Isso segue para você também?Eu não posso acreditar neste longo e nenhum comando ver
Funciona em redirecionamentos para que você possa fazer
Mas você normalmente deve escrever "para esta e todas as versões futuras" para melhor enumerar as versões anteriores.
fonte
ver
se não trabalhar em PowerShell. ÉCMD
específico.iex "ver"
faz!ver
pode ser um pouco enganadora. Na máquina em que estou sentado, ele retornaMicrosoft Windows [Version 6.1.7601]
. Mas eu estou bastante certo de que executa o Windows 7, não o Windows 6.recebe muitas informações úteis, como sistema operacional, tipo de sistema (32/64 bits) e por muito tempo:
fonte
systeminfo
também. Como você pode ver na imagem acima, ele exibirá seu sistema operacional e outras informações que você pode precisar.systeminfo
de fato, fornece as informações que estou procurando (daí o voto positivo), mas leva bastante tempo (no meu PC, são necessários mais de 15 segundos). Portanto, optei pelawmic
solução, encontrada na próxima resposta.cmd /c systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
Não tenho nenhuma experiência com o InstallAnywhere, mas há duas opções para ver qual sistema operacional está instalado usando uma linha de comando.
Usando o Cmd
Usando o comando
systeminfo.exe
, você pode ver o resultado sob o campoOS Name
. Isso pode lhe dar mais informações do que você precisa.Mais informações sobre este comando podem ser encontradas no Microsoft TechNet .
Powershell
Como alternativa, você pode usar o seguinte script do Powershell, que retornará as informações exatas que você deseja.
fonte