Есть ли способ рассчитать и разбить средние размеры файлов для заданного каталога (или диска)?
Что-то, что может предоставить такие подробности, как:|
- Файлы размером 4 КБ - 22 КБ: составляют 20% всех файлов
- Файлы размером 32 КБ - 64 КБ: составляют 10% всех файлов.
- Файлы размером 1 МБ - 20 МБ: составляют 70% всех файлов
И так далее.
Возможно, вы знаете утилиту, которая может это сделать?
решение1
Это можно сделать довольно легко в Powershell.
$items = Get-ChildItem -path "c:\your\file\path" -recurse
$count = ($items | measure-object | select -expand Count)
$size = (($items | Measure-Object -property length -sum).sum /1MB)
$avrg = $size / $count
$avrg
Пример вывода:
PS X:\> $avrg
1.03643417358398
решение2
Кто-то тамСемь форумовПосоветовал мне агента Рэнсака из Mythicsoft:
http://www.mythicsoft.com/page.aspx?type=agentransack&page=home
Пришлось сделать расчеты самостоятельно, но все оказалось не так уж и плохо.
решение3
Однострочник для получения самых основных статистических данных
Get-ChildItem . -File | Measure-Object -Property Length -Sum -Average -Maximum -Minimum
Выход:
Count : 368672
Average : 498118,454393065
Sum : 183642326818
Maximum : 157928130
Minimum : 1
Property : Length
Если у вас PS v6 или более поздняя версия, у вас также есть StandardDeviation
поле. Или просто укажите -AllStats
флаг.
решение4
WinDirStat работает медленно, но точно. Я не знаю наверняка, усредняет ли он количество файлов в каталоге.