2012-07-05 12 views
7

que tiene un directorio que contiene los directorios numerados:Powershell Ordenar con la clasificación personalizada Expresión

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

tengo que crear el directorio siguiente numéricamente. Por lo que estoy haciendo actualmente

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

Por supuesto, esto falla una vez que llegamos a 10, que mediante reglas de ordenación sigue después del 1 de 9. No necesito la expresión de ordenación a ser en realidad [int]$_.Name - ¿cómo podría hacer esto?

Respuesta

15

creo que es necesario cambiar esa primera línea de la siguiente manera:

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

A continuación, puede crear el siguiente directorio en el orden numérico de esta manera:

mkdir ([int]$lastArchive.Name + 1).ToString() 
Cuestiones relacionadas