2012-07-05 10 views
7

Mam katalog zawierający ponumerowane katalogach:PowerShell Sortowanie z Niestandardowe sortowanie Expression

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

muszę utworzyć kolejny katalog numerycznie. Dla których jestem obecnie robi

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

To oczywiście nie raz mamy do 10 zasad, które przez sortowania następuje po 1 nie 9. Muszę wyrażenie sortowania faktycznie być [int]$_.Name - w jaki sposób mogę to zrobić?

Odpowiedz

15

myślę, że trzeba to zmienić pierwszą linię następująco:

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

Następnie można utworzyć kolejny katalog, w kolejności numerycznej tak:

mkdir ([int]$lastArchive.Name + 1).ToString() 
Powiązane problemy