---
title: PowerShell скрипт – подсчет размера файлов и папок и экспорт в CSV
description: "# **PowerShell скрипт – подсчет размера файлов и папок и экспорт в CSV** В статья приведен PowerShell скрипт, который осуществляет подсчет размера файлов и папок и экспортирует полученный результат в файл CSV. Вероятно, что в последующем какие-то часто используемые скрипты…"
url: "https://itoservice.ru/docs/powershell-skript-podschet-razmera-faylov-i-papok-i-eksport-v-csv/"
updated: "2026-10-23"
category: Scripts
---

# PowerShell скрипт – подсчет размера файлов и папок и экспорт в CSV

# **PowerShell скрипт – подсчет размера файлов и папок и экспорт в CSV**

В статья приведен PowerShell скрипт, который осуществляет подсчет размера файлов и папок и экспортирует полученный результат в файл CSV.

Вероятно, что в последующем какие-то часто используемые скрипты также будут выкладываться в виде кратких публикаций и пояснений к ним.

Понятно, что скрипт прост до безобразия, но может кому-то он уже послужит готовым решением. Или его слегка можно будет адаптировать под ваши нужды.

## **Назначение скрипта**

Собственно, что делает скрипт. Он принимает два параметра:

1. FolderPath – путь до директории, для которой необходимо выполнить оценку размера всех подпапок и файлов.
2. ExportCsvPath – путь до экспортируемого CSV файла.

После завершения выполнения будет сформирован итоговый CSV файл с метаинформацией.

## **Тело скрипта**

Ниже приведено тело скрипта.

Готовый файл:

 [Get-FoldersAndFilesSize](https://itproblog.ru/wp-content/uploads/2022/02/Get-FoldersAndFilesSize.zip)

Или [ссылка на GitHub.](https://github.com/RLik/PSScripts/blob/main/Get-FoldersAndFilesSize.ps1)

Тело скрипта:

```
param (
    [Parameter(Mandatory=$true)]
    [string]$FolderPath,

    [Parameter(Mandatory=$true)]
    [string]$ExportCsvPath
)

New-Item -Path $ExportCsvPath -Force -ItemType File -Value '' | Out-Null
Add-Content -Path $ExportCsvPath -Value 'Root Folder;;Folder;;Size (bytes);;Total Objects;;Folders Count;;Files Count;;Type;;Notes'

$items = Get-ChildItem -Path $FolderPath

foreach($item in $items){
    $path = $FolderPath + $item

    $size = 0
    $foldersCount = 0
    $filesCount = 0
    $totalObjectCount = 0
    $notes = ''

    try
    {
       if ((Get-Item $path) -is [System.IO.DirectoryInfo]){
            $foldersCount = (Get-ChildItem -Recurse -Path $path -Directory -ErrorAction SilentlyContinue | Measure-Object).Count
            $filesCount = (Get-ChildItem -Recurse -Path $path -File -ErrorAction SilentlyContinue | Measure-Object).Count
            $totalObjectCount = $foldersCount + $filesCount

            if ($filesCount -gt 0){
                $size = (Get-ChildItem -Path $path -Recurse -ErrorAction SilentlyContinue | Measure-Object -Property Length -Sum -ErrorAction Stop).Sum
            }

            $valueToAdd = $FolderPath + ";;"  + $item + ";;" + $size + ";;" + $totalObjectCount + ";;" + $foldersCount + ";;" + $filesCount + ";;" + "Directory" + ";;" + $notes
            Add-Content -Path $ExportCsvPath -Value $valueToAdd
       } else {
            $size = (Get-ChildItem -Path $path -ErrorAction SilentlyContinue | Measure-Object -Property Length -Sum -ErrorAction Stop).Sum
            $valueToAdd = $FolderPath + ";;"  + $item + ";;" + $size + ";;" + $totalObjectCount + ";;" + $foldersCount + ";;" + $filesCount + ";;" + "File" + ";;" + $notes
            Add-Content -Path $ExportCsvPath -Value $valueToAdd
       }

    }

    catch
    {
        $notes = "Failed to process item: " + $item
    }

}
```

## **Пример использования**

Пример запуска скрипта:

```
.\Get-FoldersAndFilesSize.ps1 -FolderPath C:\Profiles\ -ExportCsvPath C:\tmp\file.csv
```

  ![PowerShell скрипт – подсчет размера файлов и папок и экспорт в CSV - IT Аутсорсинг в Москве](https://itproblog.ru/wp-content/uploads/2022/02/image-23.png)

Пример итогового CSV файла:

```
Root Folder;;Folder;;Size (bytes);;Total Objects;;Folders Count;;Files Count;;Type;;Notes
C:\Profiles\;;LargeFiles9_2022-02-07_00-21-43_files;;18753;;4;;0;;4;;Directory;;
C:\Profiles\;;LeastRecentlyAccessed11_2022-02-11_03-50-54_files;;7649;;2;;0;;2;;Directory;;
C:\Profiles\;;New folder;;0;;1;;1;;0;;Directory;;
C:\Profiles\;;New folder (2);;763;;9;;6;;3;;Directory;;
C:\Profiles\;;New folder (3);;0;;2;;1;;1;;Directory;;
C:\Profiles\;;QuotaUsage10_2022-02-09_08-28-34_files;;7649;;2;;0;;2;;Directory;;
C:\Profiles\;;QuotaUsage2_2022-02-03_21-53-44_files;;7649;;2;;0;;2;;Directory;;
C:\Profiles\;;u2;;99116343;;94;;47;;47;;Directory;;
C:\Profiles\;;u3;;384289;;102;;50;;52;;Directory;;
C:\Profiles\;;u4;;382828;;84;;42;;42;;Directory;;
C:\Profiles\;;LargeFiles9_2022-02-07_00-21-43.html;;8367;;0;;0;;0;;File;;
C:\Profiles\;;LeastRecentlyAccessed11_2022-02-11_03-50-54.html;;6904;;0;;0;;0;;File;;
C:\Profiles\;;New Text Document.txt;;0;;0;;0;;0;;File;;
C:\Profiles\;;QuotaUsage10_2022-02-09_08-28-34.html;;7974;;0;;0;;0;;File;;
C:\Profiles\;;QuotaUsage2_2022-02-03_21-53-44.html;;4899;;0;;0;;0;;File;;
```

  ![PowerShell скрипт – подсчет размера файлов и папок и экспорт в CSV - IT Аутсорсинг в Москве](https://itproblog.ru/wp-content/uploads/2022/02/image-24.png)

В последующем итоговый CSV файл можно, например, импортировать в Excel и получить возможность фильтровать данные или проводить какой-то анализ данных:

  ![PowerShell скрипт – подсчет размера файлов и папок и экспорт в CSV - IT Аутсорсинг в Москве](https://itproblog.ru/wp-content/uploads/2022/02/image-25.png)   ![PowerShell скрипт – подсчет размера файлов и папок и экспорт в CSV - IT Аутсорсинг в Москве](https://itproblog.ru/wp-content/uploads/2022/02/image-26.png)   ![PowerShell скрипт – подсчет размера файлов и папок и экспорт в CSV - IT Аутсорсинг в Москве](https://itproblog.ru/wp-content/uploads/2022/02/image-27.png)
