iNNOKENTIY21
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Код: #region Puzzle 1 # Показать название и размер в мегабайтах для десяти самых больших файлов # в каталоге «C:\Windows\System32» # Параметры для Get-ChildItem $Params = @{ Path = "$env:SystemRoot\System32" File = $true Force = $true ErrorAction = "SilentlyContinue" } # Набор файлов согласно параметрам $Items = @(Get-ChildItem @Params) # Сортировка набора файлов по свойству Length [array]::sort($Items.ForEach('Length'), $Items) # Свойства имя и размер (форматированный в мегабайты), у последних 10 файлов $Result = @($Items[-10..-1].ForEach{ [PSCustomObject] @{ Name = $_.Name "Size, MB" = [math]::round($_.Length/1MB, 2) } }) # Обратная сортировка #[array]::Reverse($Result) # Вывод $Result #endregion Puzzle 1 #region Puzzle 2 # Показать список (в четыре колонки) файлов с расширением «.dll» из каталога # «C:\Windows\System32» (включая вложенные каталоги), у которых размер # не превышает одного мегабайта $Params = @{ Path = "$env:SystemRoot\System32" Include = "*.dll" File = $true Recurse = $true Force = $true ErrorAction = "SilentlyContinue" } $Items = Get-ChildItem @Params $Result = foreach ($Item in $Items) { if ($Item.Length -lt 1MB) { $Item } } Format-Wide -InputObject $Result -Column 4 -Property Name #endregion Puzzle 2 #region Puzzle 3 # Показать название каталога в корневой папке диска «C:», # в котором больше всего вложенных подкаталогов. $Params = @{ Path = "$env:SystemDrive\" Directory = $true Recurse = $true Force = $true Depth = 0 ErrorAction = "SilentlyContinue" } $Items = Get-ChildItem @Params $Params = @{ Directory = $true Recurse = $true Force = $true ErrorAction = "SilentlyContinue" } $Result = @(foreach ($Item in $Items) { [PSCustomObject] @{ Folder = $Item.FullName Count = (Get-ChildItem -Path $Item.Fullname @Params).Count } }) [array]::sort($Result.Count, $Result) $Result[-1] #endregion Puzzle 3 |
|