2009-04-02 14 views

Respuesta

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 mis pensamientos exactamente ... – Sung

9

Sólo convertirlo en una versión y ordenar esa manera:

$list = "3.0.1.1","3.2.1.1" 
$sorted = $list | %{ new-object System.Version ($_) } | sort 
+1

1 Usted va a tener que practicar a escribir más rápido, probablemente;) – Sung

+0

@Sung , Fui lento en este caso porque no podía recordar si | ordenado o no en PowerShell. – JaredPar

0

sólo para añadir otro caso esquina: powershell trata este tipo de un solo dígito de la versión '2' como no válido. tiene que agregar' 0.0' hasta el fin de crear el objeto de versión antes de la clasificación:

if($version -match '^\d$') 
{ 
    $version = $version + '.0' 
} 
New-Object System.Version $version