我有一个包含编号目录的目录:
Archive
|-1
|-2
|-3
|-...
我需要以数字方式创建下一个目录。我目前正在做的事情
$lastArchive = ls .\Archive | sort Name | select -Last 1
$dirName = '1'
if($lastArchive) {
$dirName = ([int]$lastArchive.Name)+1
}
当我们达到10时,这当然失败了,通过排序规则跟随1而不是9.我需要排序表达式实际上是[int]$_.Name
- 我该怎么做?
答案 0 :(得分:17)
我认为您需要更改第一行,如下所示:
$lastArchive = ls .\Archive | Sort-Object -property @{Expression={[int]$_.Name}} | Select-Object -Last 1
然后,您可以按照以下数字顺序创建下一个目录:
mkdir ([int]$lastArchive.Name + 1).ToString()