2012-07-05 10 views
7

と私は番号のディレクトリを含むディレクトリを持っている:PowerShellは、ソートカスタムの並べ替え式

Archive 
|-1 
|-2 
|-3 
|-... 

私は数値的に次のディレクトリを作成する必要があります。私はこれをどのようにするだろう - そのために私は現在、私たちは、私が実際に[int]$_.Nameする並べ替え式を必要としない9. 1の後にルールをソートすることによって、次のどの10に得れば当然の

$lastArchive = ls .\Archive | sort Name | select -Last 1 
$dirName = '1' 
if($lastArchive) { 
    $dirName = ([int]$lastArchive.Name)+1 
} 

これが失敗したでしょうか?

答えて

15

私はあなたが以下のようにその最初の行を変更する必要があると思う:

$lastArchive = ls .\Archive | Sort-Object -property @{Expression={[int]$_.Name}} | Select-Object -Last 1 

その後、あなたはこのような番号順に次のディレクトリを作成することができます。

mkdir ([int]$lastArchive.Name + 1).ToString() 
関連する問題