Cette question a déjà une réponse ici:
Je travaille avec InstallAnywhere, un ancien programme permettant de créer des installateurs. Je souhaite installer un fichier particulier uniquement sous Windows XP et Windows Vista.
En raison des limitations d'InstallAnywhere, cela n'est pas possible. Je ne peux décider que de supprimer le fichier une fois qu'il est déjà installé, en fonction d'une règle.
Dans le cadre de cette règle, je peux vérifier la plate-forme sur laquelle je cours, ce qui me donne la possibilité de rechercher Windows XP, Windows Vista, Windows 7, etc., mais pas Windows 10. Je ne peux pas dire "Effectuez cette opération. action lorsque le système n’est ni XP ni Vista ", je dois donc dire" Effectuez cette action sur toutes les plateformes autres que XP ou Vista ".
Cependant, je peux lancer des commandes en ligne de commande et récupérer le résultat. Voici donc ma question: existe-t-il une commande que je peux utiliser pour déterminer si je travaille sur un système Windows 10?
la source
winver
ouvrira la boîte de dialogue À propos de Windows si elle est saisie dans cmd ou dans Démarrer. Cela fonctionnerait-il? Alternativement - stackoverflow.com/questions/1792740/…ver
. Par exemple, sur mon système Windows 7, le message "Microsoft Windows [Version 6.1.7601]" m'indique que j'utilise Windows 7 ( numéro de version 6.1 ).Réponses:
Existe-t-il une commande permettant de déterminer si je travaille sur un système Windows 10?
Vous pouvez utiliser
wmic
.La commande suivante renverra la version Windows.
Exemple de sortie:
Si vous souhaitez un peu plus d'informations, vous pouvez utiliser le fichier de commandes suivant (GetOS.cmd), qui va récupérer et afficher:
La version du système d'exploitation est stockée dans
%_os
, la version majeure du Service Pack est stockée%_sp%
et l'architecture est stockée dans%_bits%
.Remarques:
Pas complètement testé car je n'ai pas toutes les combinaisons de système d'exploitation et de Service Pack pour le tester.
La
for
commande récupère uniquement la 3ème partie (jeton) du système d'exploitation. Cela fonctionnera pour les versions de bureau (si vous souhaitez distinguer Server 2008 des autres versions, vous devrez trouver une autre solution).%_os
sera fixé à l' une des valeurs suivantes:Server
,Vista
,7
,8
,8.1
ou10
.Exemple de sortie:
Lectures complémentaires
la source
wmic os get Caption | findstr /V Caption
pause
avantendlocal
pour donner à l'utilisateur une chance de lire le résultat avant la fermeture de la fenêtre. Est-ce que cela vous suit aussi?Je ne peux pas croire cette commande longue et sans ver
Cela fonctionne dans les redirections afin que vous puissiez faire
Mais vous devriez normalement écrire "pour cette version et pour toutes les versions futures" afin de mieux énumérer les précédentes.
la source
ver
ne fonctionne pas dans PowerShell. C'estCMD
spécifique.iex "ver"
fait!ver
peut être un peu trompeuse. Sur la machine sur laquelle je suis assis en ce moment, il revientMicrosoft Windows [Version 6.1.7601]
. Mais je suis tout à fait certain qu'il fonctionne sous Windows 7, pas sous Windows 6.Obtient de nombreuses informations utiles comme Système d'exploitation, Type de système (32/64 bits) et ainsi de suite:
la source
systeminfo
aussi. Comme vous pouvez le voir sur l'image ci-dessus, votre système d'exploitation sera affiché, ainsi que d'autres informations dont vous pourriez avoir besoin.systeminfo
donne effectivement les informations que je cherche (d’où le vote positif), mais cela prend un certain temps (sur mon PC, cela prend plus de 15 secondes). J'ai donc opté pour lawmic
solution trouvée dans la réponse suivante.cmd /c systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
Je n'ai aucune expérience d'InstallAnywhere, mais il existe deux options pour voir quel système d'exploitation est installé à l'aide d'une ligne de commande.
Utiliser Cmd
En utilisant la commande
systeminfo.exe
, vous pouvez voir le résultat de sous le champOS Name
. Cela peut vous donner plus d'informations que vous avez besoin.Vous trouverez plus d'informations sur cette commande dans Microsoft TechNet .
Powershell
Vous pouvez également utiliser le script Powershell suivant, qui renverra les informations exactes souhaitées.
la source