Diese Frage hat hier bereits eine Antwort:
Ich arbeite mit InstallAnywhere, einem alten Programm zum Erstellen von Installationsprogrammen. Ich möchte eine bestimmte Datei nur unter Windows XP und Windows Vista installieren.
Aufgrund der Einschränkungen von InstallAnywhere ist dies nicht möglich. Ich kann mich nur dazu entschließen, die Datei zu löschen, nachdem sie auf der Grundlage einer Regel bereits installiert wurde.
Innerhalb dieser Regel kann ich nach der Plattform suchen, auf der ich ausgeführt werde. Auf diese Weise kann ich nach Windows XP, Windows Vista, Windows 7 usw. suchen, aber nicht nach Windows 10. Ich kann nicht sagen, dass dies ausgeführt wird Aktion, wenn das System nicht XP oder Vista ist ", also muss ich sagen" Führen Sie diese Aktion auf allen Plattformen durch, die nicht XP oder Vista sind ".
Ich kann jedoch Befehlszeilenbefehle starten und das Ergebnis abrufen. Hier ist meine Frage: Gibt es einen Befehl, mit dem ich feststellen kann, ob ich auf einem Windows 10-System arbeite?
quelle
winver
Wenn Sie cmd oder Start eingeben, wird das Dialogfeld Über Windows angezeigt. Funktioniert das? Alternativ - stackoverflow.com/questions/1792740/…ver
. Auf meinem Windows 7-System erhalte ich beispielsweise "Microsoft Windows [Version 6.1.7601]", das angibt, dass ich Windows 7 (mit der Versionsnummer 6.1 ) verwende.Antworten:
Gibt es einen Befehl, um festzustellen, ob ich auf einem Windows 10-System arbeite?
Sie können verwenden
wmic
.Der folgende Befehl gibt die Windows-Version zurück.
Beispielausgabe:
Wenn Sie etwas mehr Informationen wünschen, können Sie die folgende Batch-Datei (GetOS.cmd) verwenden, die abgerufen und angezeigt wird:
Die Betriebssystemversion ist in
%_os
, die Service Pack-Hauptversion in%_sp%
und die Architektur in gespeichert%_bits%
.Anmerkungen:
Nicht vollständig getestet, da ich nicht alle Betriebssystem- und Service Pack-Kombinationen zum Testen habe.
Der
for
Befehl ruft nur den dritten Teil (Token) des Betriebssystems ab. Dies funktioniert für die Desktop-Versionen (wenn Sie Server 2008 von anderen Versionen unterscheiden möchten, müssen Sie eine andere Lösung finden).%_os
wird auf einen der folgenden Werte gesetzt werden:Server
,Vista
,7
,8
,8.1
oder10
.Beispielausgabe:
Weitere Lektüre
quelle
wmic os get Caption | findstr /V Caption
pause
Vorzeichenendlocal
, um dem Benutzer die Möglichkeit zu geben, die Ausgabe zu lesen, bevor das Fenster geschlossen wird. Folgt das auch für Sie?Ich kann so lange nicht glauben und kein Befehl
Es funktioniert in Weiterleitungen, so dass Sie tun können
Normalerweise sollten Sie jedoch "für diese und alle zukünftigen Versionen" schreiben, damit Sie die vorherigen besser durchgehen können.
quelle
ver
funktioniert dies nicht . Es istCMD
spezifisch.iex "ver"
aber!ver
kann etwas irreführend sein. Auf der Maschine, auf der ich gerade sitze, kehrt sie zurückMicrosoft Windows [Version 6.1.7601]
. Aber ich bin mir ziemlich sicher, dass Windows 7 läuft, nicht Windows 6.erhält viele nützliche Informationen wie Betriebssystem, Systemtyp (32/64 Bit) und so lange:
quelle
systeminfo
. Wie Sie aus dem obigen Bild ersehen können, zeigt es Ihr Betriebssystem sowie andere Informationen an, die Sie möglicherweise benötigen.systeminfo
gibt in der Tat die Informationen, die ich suche (daher die positive Bewertung), aber es dauert ziemlich lange (auf meinem PC dauert es mehr als 15 Sekunden). Deshalb habe ich mich für diewmic
Lösung entschieden, die in der nächsten Antwort zu finden ist.cmd /c systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
Ich habe keine Erfahrung mit InstallAnywhere, aber es gibt zwei Optionen, um mithilfe einer Befehlszeile festzustellen, welches Betriebssystem installiert ist.
Verwenden von Cmd
Mit dem Befehl
systeminfo.exe
können Sie das Ergebnis von unter dem Feld sehenOS Name
. Dadurch erhalten Sie möglicherweise mehr Informationen, als Sie benötigen.Weitere Informationen zu diesem Befehl finden Sie in Microsoft TechNet .
Power Shell
Alternativ können Sie das folgende Powershell-Skript verwenden, das die genauen gewünschten Informationen zurückgibt.
quelle