In PowerShell, se si dispone di un elenco di stringhe contenenti versioni, "3.0.1.1", "3.2.1.1", ecc., Come è possibile ordinare il modo in cui System.Version ordinerà in C#?Ordinamento delle versioni di PowerShell
10
A
risposta
22
PS C:\> $ver="3.0.1.1","3.2.1.1"
PS C:\> $ver|%{[System.Version]$_}|sort
Major Minor Build Revision
----- ----- ----- --------
3 0 1 1
3 2 1 1
9
Basta convertirlo in un versione e ordinare in questo modo:
$list = "3.0.1.1","3.2.1.1"
$sorted = $list | %{ new-object System.Version ($_) } | sort
0
solo per aggiungere un altro caso d'angolo: tratta PowerShell questo singolo tipo di cifre versione '2' come non valido. Devo aggiungere' 0,0' fino alla fine per creare l'oggetto versione prima di ordinamento:
if($version -match '^\d$')
{
$version = $version + '.0'
}
New-Object System.Version $version
+1 miei pensieri esattamente ... – Sung