8
votes

Obtenir la version Windows dans Cygwin

Comment puis-je obtenir la version Windows que je suis en cours d'exécution sous Cygwin?

Je maintenez un script de construction automatique qui fonctionne sur Mac, Windows et Linux Distributions et je dois pouvoir détecter la version de Windows utilisée en cours.

De préférence, j'aurais pu renvoyer le nom standard de la version Windows, mais une sorte de code que je peux séparer des autres serait aussi super.

Ce que je veux savoir, c'est si je cours 7, XP, Server 2008 et ainsi de suite.

aide, idées?


0 commentaires

3 Réponses :


6
votes

Comme ceci:

eh@winxpsp3 ~
$ echo `cmd /c ver`
 Microsoft Windows XP [Version 5.1.2600]

eh@winxpsp3 ~
$


2 commentaires

Parfait, même si sur Win7 qui n'a pas donné le "Microsoft Windows 7" mais au moins, le code est là et la version 6 de Windows est toutes Win7, je crois. Merci


Cela ne fonctionne que dans certains cas, car votre commentaire montre. Je sais que je couronne Windows8, version 6.2.9200 sous mon cygwin. Cette réponse renvoie simplement: Microsoft Windows [version 6.2.9200] @sedrik, note que cela indique que pas toutes les fenêtres avec la version 6 est Windows 7. Une autre note rapide: i penser des backtsticks sont obsolètes; Il faut utiliser $ echo $ (cmd / c ver) . (Pour moi $ cmd / c ver a donné la même sortie, moins un espace de tête.) Voir la réponse @costa donnée pour plus d'informations (y compris quelque chose qui lit "Windows 8" pour moi.).



8
votes

Vous pouvez utiliser uname -s -s et comparer la sortie à ceci:

NT-5.0 = W2000

NT-5.1 = XP

NT-6.0 = VISTA

NT-6.1 = W7

Je couronne Windows 7 64 bit, alors ma sortie est la suivante: CYGWIN_NT-6.1-WOW64 . Vous pouvez voir plus d'informations ici .


1 commentaires

+1 Pour une réponse portable, puisque OP utilise plusieurs environnements.



10
votes

Vous pouvez le grep it of the Windows Systeminfo code> utilitaire. XXX PRE>

Nom du système d'exploitation uniquement: P>

$ systeminfo.exe | grep '^OS'
OS Name:                   Microsoft Windows 7 Home Premium
OS Version:                6.1.7601 Service Pack 1 Build 7601
OS Manufacturer:           Microsoft Corporation
OS Configuration:          Standalone Workstation
OS Build Type:             Multiprocessor Free
$ systeminfo | sed -n 's/^OS Name:[[:blank:]]*//p'
Microsoft Windows 7 Home Premium


1 commentaires

Cela devrait être la réponse choisie. La réponse acceptée (pour moi) renvoie simplement: Microsoft Windows [version 6.2.9200] , tandis que cette réponse renvoie tout: Nom du système d'exploitation: Microsoft Windows 8 \ Version: 6.2.9200 N / Build 9200 \ OS Fabricant: Microsoft Corporation \ Configuration: Station de travail autonome \ OS Type de construction: MultiProcesseur GRATUIT . Si j'utilise le SED Stuff, je reçois exactement cela pour lequel l'OP demandait.