Полный сценарий:
$size=1GB
$path="C:\"
$omit="*.mdf,*.ldf"
Get-ChildItem -Path $path -Exclude $omit -Recurse -OutBuffer 1000|
where {($_.Length -gt $size)}|Select Name, Directory, Length
Пример вывода:
Name Directory Length
---- --------- ------
CAP2015-07-29 21-07-08-71.avi C:\ 1216624984
CAP2015-07-29 21-08-17-48.avi C:\Movies 1205696024
Объяснение сценария:
Переменная для управления размером поиска. Может быть КБ, МБ, ГБ
$size=1GB
Переменная, чтобы задать базовый путь для поиска с
$path="C:\"
Переменная для установки списка исключенных расширений
$omit="*.mdf,*.ldf"
Рекурсивно просматривает все элементы из $ Path и возвращает только файлы, размер которых превышает заданный размер, управляемый $ size , и пропускает файлы, перечисленные в $ omit .
Get-ChildItem -Path $path -Exclude $omit -Recurse -OutBuffer 1000|
where {($_.Length -gt $size)}|Select Name, Directory, Length
ПРИМЕЧАНИЕ: Параметр -OutBuffer определяет, сколько элементов собирается перед продолжением. Правильное управление этим параметром может значительно увеличить скорость выполнения команды. Это из группы параметров под названием «CommonParameters». Знание, что это такое и как они работают, неоценимо.
Документы Microsoft about_CommonParameters