15

Посчитать размер десятков миллионов папок (dfs)

Привет!

Есть необходимость эпизодически делать отчет по месту на файловых шарах - ACL и размер.

ACL проблем не вызывает, а посчитать размер папки с миллионами вложений - сложнее.

Использую powershell

Get-ChildItem не подходит - медленно

В итоге нашел два решения

1) .net (надежно, медленно)

([System.IO.DirectoryInfo] $_).EnumerateFile('*', 'AllDirectories') | ForEach-Object {$totalSize = $totalSize + $_.Length;}

2) COM - довольно стремно, быстрее иногда в разы

$com = New-Object -comobject Scripting.FileSystemObject

$folder_info = $com.GetFolder($_)

totalSize = $folder_info.size

Рылся по инету месяцами - ничего более не нашел

Есть у кого какие мысли?

Лига Сисадминов

2.4K постов18.9K подписчиков

Правила сообщества

Мы здесь рады любым постам связанным с рабочими буднями специалистов нашей сферы деятельности.