2012-07-05 46 views
7

Tôi có một thư mục chứa thư mục được đánh số:Powershell Sắp xếp Sắp xếp tùy chỉnh với biểu

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

tôi cần phải tạo thư mục tiếp theo số lượng. Mà tôi hiện đang làm

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

Điều này tất nhiên không một khi chúng ta có được đến 10 mà theo quy tắc sắp xếp sau sau 1 không 9. Tôi cần sự biểu hiện sắp xếp để thực sự được [int]$_.Name - làm thế nào tôi sẽ làm điều này?

Trả lời

15

Tôi nghĩ rằng bạn cần phải thay đổi điều đó dòng đầu tiên như sau:

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

Sau đó, bạn có thể tạo các thư mục tiếp theo trong số thứ tự như thế này:

mkdir ([int]$lastArchive.Name + 1).ToString() 
Các vấn đề liên quan