Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Сценарии для Windows

Модерирует : KLASS, IFkO

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

iNNOKENTIY21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
function DirectoryMeasureSum {
    param (
        [Parameter(
            Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName
        )]
        [ValidateScript( { Test-Path -Path $_ -PathType Container })]
        [string[]] $Path
    )
 
    Process {
        foreach ($Dir in $Path) {
            $Directories = Get-ChildItem -Path $Dir -Force -ErrorAction SilentlyContinue
 
            if ($null -ne $Directories) {
                foreach ($Item in $Directories) {
                    if (Test-Path $Item.FullName -PathType Container) {
                        $Files = Get-ChildItem -Path $Item.FullName -File -Recurse -Force -ErrorAction SilentlyContinue
                        $Measure = $Files | Measure-Object -Property Length -Sum
 
                        if ($Measure) {
                            $Count = $Measure.Count
                            $Sum = $Measure.Sum
                        } else {
                            $Count = 0
                            $Sum = 0
                        }
 
                        [pscustomobject] @{
                            Path   = $Dir
                            Name   = "[{0}]" -f $Item.Name
                            Count  = $Count
                            Length = $Sum
                        }
                    } else {
                        [pscustomobject] @{
                            Path   = $Dir
                            Name   = $Item.Name
                            Count  = 1
                            Length = $Item.Length
                        }
                    }
                }
            }
        }
    }
}
 
$dirs = @(
    "$env:APPDATA\Microsoft\Windows\Start Menu\Programs"
    "$env:APPDATA\Microsoft\SystemCertificates"
    #"$env:APPDATA\Microsoft\Windows\Recent"
    "$env:windir\temp"
)
 
#$dirs | DirectoryMeasureSum
DirectoryMeasureSum -Path $dirs | Format-Table -AutoSize -GroupBy Path

Всего записей: 3521 | Зарегистр. 16-08-2012 | Отправлено: 02:11 24-07-2019
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Сценарии для Windows


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru