2009-04-02 10 views

答えて

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自分の考えを正確に... – Sung

9

だけのバージョンに変換し、そのように並べ替える:

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

1あなたはつもりおそらく速く入力する練習しなければならない;) – Sung

+0

@Sung私はこのケースでは遅かったです。ソートがPowerShellで機能するかどうか。 – JaredPar

0

ちょうど別のコーナーケースを追加する:PowerShellの扱いバージョンのこの一桁の種類を「2」は無効として。 は、ソート前のバージョンのオブジェクトを作成するために、最後に「0.0' を追加する必要があります。

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