wake-up-neo.com

Wie kann ich mithilfe der Befehlszeile feststellen, ob mein System Windows 10 ist?

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. Dadurch habe ich die Möglichkeit, nach Windows XP, Windows Vista, Windows 7 usw. zu suchen, nicht aber nach Windows 10. Ich kann nicht "Ausführen" sagen Aktion, wenn das System nicht XP oder Vista ist ", daher muss ich sagen" Diese Aktion auf allen Plattformen ausführen, 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?

32
Dominique

Gibt es einen Befehl, um festzustellen, ob ich auf einem Windows 10-System arbeite?

Sie können wmic verwenden.

Der folgende Befehl gibt die Windows-Version zurück.

wmic os get Caption | findstr /v Caption

Beispielausgabe:

F:\test>wmic os get Caption | findstr /v Caption
Microsoft Windows 7 Home Premium

Wenn Sie etwas mehr Informationen wünschen, können Sie die folgende Batch-Datei (GetOS.cmd) verwenden, die abgerufen und angezeigt wird:

  • Betriebssystemversion
  • Service Pack Major Version
  • Architektur (64 oder 32 Bit)
@echo off
setlocal
setlocal enabledelayedexpansion
set _os=
set _sp=
rem use findstr to strip blank lines from wmic output
rem get OS
for /f "usebackq skip=1 tokens=3" %%i in (`wmic os get caption ^| findstr /r /v "^$"`) do (
  set "_os=%%i"
  )
rem get Service Pack
for /f "usebackq skip=1 tokens=*" %%i in (`wmic os get ServicePackMajorVersion ^| findstr /r /v "^$"`) do (
  set "_sp=%%i"
  )
rem get Architecture
for /f "usebackq skip=1 tokens=*" %%i in (`wmic OS get OSArchitecture ^| findstr /r /v "^$"`) do (
  set "_bits=%%i"
  )
echo Operating System Version: %_os%
echo Service Pack Major Version: %_sp%
echo Architecture: %_bits%
endlocal

Die Betriebssystemversion ist in %_os gespeichert, die Service Pack-Hauptversion in %_sp% und die Architektur in %_bits%.

Anmerkungen:

  • Nicht vollständig getestet, da ich nicht alle Betriebssystem- und Service Pack-Kombinationen zum Testen habe.

  • Der Befehl for 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: Server, Vista, 7, 8, 8.1 oder 10.

Beispielausgabe:

F:\test>GetOS
Operating System Version: 7
Service Pack Major Version: 1
Architecture: 64-bit

F:\test>

Weitere Lektüre

  • Ein A-Z-Index der Windows CMD-Befehlszeile - Eine hervorragende Referenz für alle Dinge, die mit der Windows-Befehlszeile zu tun haben.
  • findstr - Suche nach Strings in Dateien.
  • für/f - Schleifenbefehl gegen die Ergebnisse eines anderen Befehls.
  • if - Führen Sie unter bestimmten Bedingungen einen Befehl aus.
  • wmic - Windows-Verwaltungsinstrumentationsbefehl.
54
DavidPostill

Ich kann so lange nicht glauben und kein Befehl

C:\>ver

Microsoft Windows [Version 10.0.10586]

C:\>

Es funktioniert in Weiterleitungen, so dass Sie tun können

ver | find "Version 10."

Normalerweise sollten Sie jedoch "für diese und alle zukünftigen Versionen" schreiben, damit Sie die vorherigen besser durchgehen können.

36
Joshua

systeminformationen

erhält viele nützliche Informationen wie Betriebssystem, Systemtyp (32/64 Bit) und so lange:

enter image description here

18
duDE

Ich habe keine Erfahrung mit InstallAnywhere, aber es gibt zwei Optionen, um mithilfe einer Befehlszeile festzustellen, welches Betriebssystem installiert ist.

  1. Verwenden von Cmd

    systeminfo.exe
    

    Mit dem Befehl systeminfo.exe können Sie das Ergebnis von unter dem Feld OS Name sehen. Dadurch erhalten Sie möglicherweise mehr Informationen, als Sie benötigen.

    Weitere Informationen zu diesem Befehl finden Sie in Microsoft TechNet .

  2. Power Shell

    Alternativ können Sie das folgende Powershell-Skript verwenden, das die genauen gewünschten Informationen zurückgibt.

    Get-CimInstance Win32_OperatingSystem | Select-Object  Caption | ForEach{ $_.Caption }
    
1
Tim Mahood