1
Для создания ротации я хочу сохранить только 10 последних элементов в папке. Сборка находится во вложенных папках с именем id (порядок увеличения) сборки.Powershell содержит только n новых элементов в папке (строит вращение)
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 21.8.15 7:39 PM 121
d----- 21.8.15 10:39 PM 122
d----- 21.8.15 10:39 PM 123
d----- 21.8.15 10:39 PM 124
d----- 21.8.15 10:39 PM 125
Я хочу знать, есть ли более элегантный способ, чем тот, который я использую.
$exclude = dir | Sort-Object Name -Descending | Select-Object Name -f 10
Get-Item * | Where-Object { $_.PSIsContainer -and $exclude.Name -notcontains $_.Name} | Remove-Item
Woow, спасибо. Это приятно и просто. Только добавьте -Descending. Я забыл в своем примере. Спасибо –
@ Ярослав Кубачек Конечно. Я бы, вероятно, тоже пошел на сортировку по «LastWriteTime». С помощью 'Name' prop, если имена папок, где ie. '98,99,100', он потерпит неудачу (100 до 98, в алфавитном порядке) –
Да, вы правы. благодаря –