8

番号付きのディレクトリを含むディレクトリがあります。

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

次のディレクトリを数値で作成する必要があります。私が現在やっているのは

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

もちろん、これは10に達すると失敗します。これは、ソートルールによって9ではなく1の後に続きます。実際には、ソート式が必要[int]$_.Nameです。これをどのように行うのでしょうか。

4

1 に答える 1

19

その最初の行を次のように変更する必要があると思います。

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

次に、次のように番号順に次のディレクトリを作成できます。

mkdir ([int]$lastArchive.Name + 1).ToString()
于 2012-07-05T23:32:16.310 に答える