Скрипт должен вывести 10 самых больших типов файлов по расширению, сортированный по убыванию суммарного размера. Так же он принимает 2 параметра, 1й на директорию поиска, 2й на вывод файла.
Скрипт:
# Присваивание имени выводимому файлу
$args[1] += "\hard_mem_use.txt"
# Получаем список путей всех файлов, начиная с пути $args[0]
Get-ChildItem $args[0] -r|`
WHERE { -NOT $_.PSIsContainer } |`
Group Extension -NoElement |`
# Сортировка по убыванию размера файла, разрешая использование нескольких значений
Sort-Object -descending -property length |`
# Фильтруем вывод информации, первые 10 имён и их вес в Мб.
Select-Object -first 10 name, @{Name="Mb";Expression={[Math]::round($_.length / 1MB, 2)}}|`
# Вывод файла по пути $args[1]
Out-File -FilePath $args[1]
notepad.exe $args[1]
В данный момент он не показывает суммарный размер:
Name Mb
---- --
.exe 0
.zip 0
.docx 0
.log 0
.txt 0
.torrent 0
.sys 0
.rtf 0
.ini 0
.lng 0
Можете подсказать где я ошибся или может я что то забыл?