Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Сообщения: 1759
Благодарности: 966

Профиль | Цитировать


Такой вариант. Правда неторопливый (но в разумных пределах):
читать дальше »
Код: Выделить весь код
param (

    [int] $deep = 750,
    [int] $interval = 7

)

$dirs = get-childitem c:\root\folder -directory
$result = foreach ($dir in $dirs)
{
    $dirfiles = get-childitem $dir.fullname -file -recurse
    $objectbody = 
    for ($i = 0; $i -le $deep; $i += $interval)
    {
        $files = 
        $dirfiles | where { 
            $_.lastwritetime -le (get-date).adddays(-$i) -and $_.lastwritetime -ge (get-date).adddays(-$($i+$interval))
        }
        $files |
        foreach { $size = 0 } { $size += $_.length / 1mb } { "`'$i+`' = `'$($files.count) / $($size.tostring('f'))`'" }
    }

@"
[pscustomobject] @{
folder = `'$dir`'
$($objectbody -join "`n") 
}
"@ | invoke-expression

}

$result | convertto-csv | out-file result.csv

Вызывать соответственно:
Код: Выделить весь код
.\script -deep 300 -interval 10
.\script -d 300 -i 10
.\script # значения $deep и $interval по умолчанию (750 и 7)

Последний раз редактировалось Foreigner, 24-06-2016 в 11:02.

Это сообщение посчитали полезным следующие участники:

Отправлено: 09:57, 24-06-2016 | #14