Soy nuevo en power shell.clasificación personalizada en powershell
Mi problema es que que tengo los nombres de archivo en formato siguiente:
[ignore-prefix]-[important-middle]-[ignore-suffix]-[name-with-digits]
necesito para ordenar de acuerdo a las reglas siguientes: en primer lugar por parte media, y luego por su nombre, en el orden natural (es decir, foobar10> foobar2) . No sé el valor del prefijo, pero sé el separador (guión).
así que mi primer intento, naturalmente:
filelist | Sort-Object -property @{Expression=`
{$_.FullName.SubString($_.FullName.IndexOf("-")+1)}}
Esto tiene un problema que el sufijo afecta fin (ignore-aaa-1ignore-wname) se clasifican antes de ignorar-aaa-2ignore-aname), por lo que:
$filelist | Sort-Object -property @{Expression=`
{$_.FullName.SubString($_.FullName.IndexOf("-")+1,`
$_.FullName.SubString($_.FullName.IndexOf("-")+1).IndexOf("-"))}}
Ok, eso ordena por el medio, pero ya inseguro. Si voy a agregar un tipo natural, eso sería aún peor. ¿Cuál es la manera más elegante de hacer eso?
"$ part1, $ part2, $ part2" debe ser "$ part1, $ part2, $ part3" gracias! – DennyRolling
Sí, he notado eso, también. Fijo. –