Versionsnummern in Powershell vergleichen
Moin Kollegen.
Ich brauche mal einen Schubs, da ich die Syntax für einen Versionsvergleich nicht hinbekomme, für den Fall, dass die Versionen wie folgt aussehen:
Mir ist klar, dass die Auswertung misslingt, da $v2 eine zweistellige erste Ziffer hat, aber ich weiß nicht, wie ich es abstellen soll.
Sucht man hier im Forum, findet man zum Beispiel Dateiversionen mit Skript vergleichen und wenn Datei neuer ist, installieren welches ebensowenig funktioniert bei einem Vergleich von 9.x.x.x mit 10.x.x.x
Ich brauche mal einen Schubs, da ich die Syntax für einen Versionsvergleich nicht hinbekomme, für den Fall, dass die Versionen wie folgt aussehen:
1
2
3
2
3
$v1 = 9.1.1.1
$v2 = 10.1.1.1
if ($v1 -ge $v2) {msg * 9.1.1.1 ist groeßer oder gleich 10.1.1.1 !?}
Mir ist klar, dass die Auswertung misslingt, da $v2 eine zweistellige erste Ziffer hat, aber ich weiß nicht, wie ich es abstellen soll.
Sucht man hier im Forum, findet man zum Beispiel Dateiversionen mit Skript vergleichen und wenn Datei neuer ist, installieren welches ebensowenig funktioniert bei einem Vergleich von 9.x.x.x mit 10.x.x.x
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 595933
Url: https://administrator.de/forum/versionsnummern-in-powershell-vergleichen-595933.html
Ausgedruckt am: 13.04.2025 um 22:04 Uhr
4 Kommentare
Neuester Kommentar
Hi DWW,
schau mal z.B. hier: https://stackoverflow.com/questions/48424152/compare-system-version-in-p ...
E.
Edit
schau mal z.B. hier: https://stackoverflow.com/questions/48424152/compare-system-version-in-p ...
E.
Edit
1
2
3
4
2
3
4
$v1 = [System.Version]::New("1.0.0.0")
$v2 = [System.Version]::New("1.1.0.0")
$v1 -gt $v2 # liefert False
$v2 -gt $v1 # liefert True
Hi
du kannst die Variable als [version] deklarieren, dann geht das direkt:
du kannst die Variable als [version] deklarieren, dann geht das direkt:
1
2
3
4
5
6
2
3
4
5
6
[version]$v1 = "9.1.1.1"
[version]$v2 = "9.1.1.2"
if ($v1 -gt $v2) {write-host "$($v1) ist groeßer $($v2)"}
if ($v1 -lt $v2) {write-host "$($v1) ist kleiner $($v2)"}
if ($v1 -eq $v2) {write-host "$($v1) ist gleich $($v2)"}