2009-04-02 18 views

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 
+0

+1 miei pensieri esattamente ... – Sung

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 
+1

+1 Si dovra' praticare a digitare più velocemente, probabilmente;) – Sung

+0

@Sung , Ero lento in questo caso perché non riuscivo a ricordare se | sort ha funzionato o meno in PowerShell. – JaredPar

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 
Problemi correlati