Как перенести список папок в Excel: все рабочие способы (2026)

Перенос структуры каталогов из проводника Windows или файлового менеджера в Excel — задача, с которой сталкиваются системные администраторы, архивариусы и даже обычные пользователи при инвентаризации файлов. Казалось бы, что может быть проще: открыл папку, скопировал названия и вставил в таблицу. Но на практике ручной ввод занимает часы, особенно если речь идёт о сотнях вложенных директорий с длинными именами. К счастью, есть как минимум 5 автоматизированных способов решить эту задачу — от встроенных инструментов Windows до скриптов на PowerShell и сторонних утилит.

В этой статье мы разберём каждый метод с пошаговыми инструкциями, сравним их по скорости, универсальности и требованиям к навыкам пользователя. Особое внимание уделим ньюансам экспорта: почему некоторые символы в именах папок могут "ломать" таблицу, как сохранить иерархию вложенности, и что делать, если Excel воспринимает данные как формулы вместо текста. Если вам нужно не просто список, а полный отчёт с размерами файлов, датами изменения или правами доступа — в конце статьи есть бонусный раздел с расширенными решениями.

—— • ——

1. Способ: Командная строка (CMD) + буфер обмена

Самый универсальный метод, который работает на всех версиях Windows — от XP до Windows 11. Здесь не нужны права администратора или дополнительные программы, только стандартные инструменты системы. Суть способа: с помощью команды dir выводим список папок в текстовом формате, а затем переносим его в Excel через буфер обмена.

Почему это работает? Команда dir /AD /B отображает только папки (/AD) в "голом" формате без лишних данных (/B). Результат можно сразу скопировать и вставить в ячейку A1 — Excel автоматически разобьёт строки по отдельным ячейкам. Минус метода: не сохраняется иерархия вложенных папок — вы получите плоский список.

  • Преимущества: не требует установки ПО, работает на любом ПК.
  • ⚠️ Ограничения: нет вложенности, максимальная длина пути — 260 символов.
  • 📌 Подходит для: быстрого экспорта списка папок верхнего уровня.

—— • ——

Пошаговая инструкция:

  1. Откройте командную строку (Win + R → введите cmdEnter).

  2. Перейдите в нужную директорию командой cd "Путь\к\папке" (например, cd "C:\Users\Имя\Documents"). Важно: если путь содержит пробелы, обязательно используйте кавычки!

  3. Выполните команду для экспорта списка папок:

    dir /AD /B > folders.txt

    Эта команда сохраняет список в файл folders.txt в текущей папке.

  4. Откройте созданный файл folders.txt в Блокноте (Notepad), выделите весь текст (Ctrl + A) и скопируйте (Ctrl + C).

  5. Вставьте данные в Excel: выделите ячейку A1 и нажмите Ctrl + V. Excel автоматически разобьёт строки по ячейкам.

⚠️ Внимание: Если в именах папок есть точки с запятой (;) или восклицательные знаки (!), Excel может воспринять их как разделители формул. Чтобы избежать ошибок, предварительно отформатируйте столбец как текстовый (Выделите столбец → Главная → Формат → Формат ячеек → Текстовый).

—— • ——

2. Способ: PowerShell для экспорта с вложенностью

Если вам нужно сохранить структуру вложенных папок (например, Папка1\Подпапка1\Подпапка2), стандартная команда dir не подойдёт. Здесь на помощь придёт PowerShell — более мощный инструмент автоматизации Windows. С его помощью можно не только экспортировать имена папок, но и добавлять дополнительные данные: размер, дату создания, атрибуты.

Мы будем использовать cmdlet Get-ChildItem с параметром -Recurse, который рекурсивно обходит все подпапки. Результат выгрузим в файл .csv, который Excel откроет без дополнительных манипуляций. Важный нюанс: PowerShell по умолчанию ограничивает глубину рекурсии до 5 уровней. Если у вас более глубокая структура, добавьте параметр -Depth 10 (или больше).

📊 Какой инструмент вы чаще используете для работы с файлами?
Проводник Windows
Total Commander
Far Manager
PowerShell/CMD
Другой

—— • ——

Скрипт для PowerShell:

Get-ChildItem -Path "C:\Ваш\Путь" -Directory -Recurse -Depth 10 | Select-Object FullName | Export-Csv -Path "C:\output\folders.csv" -NoTypeInformation -Encoding UTF8
  • 🔹 -Directory — фильтрует только папки (исключает файлы).
  • 🔹 -Recurse — включает вложенные папки.
  • 🔹 -Depth 10 — увеличивает глубину обхода (по умолчанию 5).
  • 🔹 -Encoding UTF8 — гарантирует корректное отображение кириллицы.

После выполнения скрипта откройте файл folders.csv в Excel. Данные будут в первом столбце. Чтобы разделить пути по уровням вложенности (например, выделить Папка1, Подпапка1 в отдельные столбцы), используйте функцию Текст по столбцам (Данные → Текст по столбцам → Разделитель → Указать символ "\").

⚠️ Внимание: Если путь к папке содержит специальные символы (например, #, $, %), PowerShell может интерпретировать их как часть команды. В этом случае оберните путь в одинарные кавычки: -Path 'C:\Мой#Проект'.

—— • ——

3. Способ: Экспорт через Total Commander

Если вы предпочитаете файловые менеджеры типа Total Commander или Far Manager, то экспорт списка папок можно выполнить в несколько кликов. Total Commander позволяет сохранять не только имена, но и дополнительные атрибуты: размер, дату изменения, права доступа. Главное преимущество метода — визуальный интерфейс, который упрощает настройку выгружаемых данных.

В отличие от командной строки, здесь можно выбрать формат выгрузки: .txt, .csv или даже .xls (правда, последний поддерживает только базовое форматирование). Ещё один плюс: Total Commander корректно обрабатывает длинные пути (более 260 символов), что актуально для глубоко вложенных структур.

—— • ——

Инструкция для Total Commander:

  1. Откройте Total Commander и перейдите в нужную папку.

  2. Выделите все папки (Ctrl + A) или только нужные (с зажатым Ctrl).

  3. Нажмите Файлы → Сохранить выделенные файлы... (Alt + F9).

  4. В окне сохранения:

    • Укажите путь для сохраняемого файла (например, C:\export\folders.csv).
    • Выберите формат: CSV (разделитель — запятая).
    • В разделе Содержимое отметьте галочки:
      • 📁 Только имена файлов (чтобы исключить пути).
      • 📅 Дата/время (опционально).
      • 📏 Размер (если нужны данные о файлах внутри папок).
  • Нажмите Сохранить.
  • Откройте созданный файл в Excel. Если данные отобразились в одной ячейке, используйте Текст по столбцам (разделитель — запятая).

  • Параметр CMD PowerShell Total Commander
    Поддержка вложенности ❌ Нет ✅ Да (с -Recurse) ✅ Да (настраивается)
    Дополнительные атрибуты ❌ Только имена ✅ Дата, размер, права ✅ Дата, размер, атрибуты
    Ограничение по длине пути ❌ 260 символов ✅ До 32 000 символов ✅ Без ограничений
    Требуемые навыки Базовые Средние Минимальные

    —— • ——

    4. Способ: Специализированные утилиты (Directory List & Print, TreeSize)

    Если вам нужно не просто скопировать список папок, а получить полноценный отчёт с размерами, количеством файлов, графиками распределения места — стоит обратить внимание на специализированные программы. Две самые популярные:

    • Directory List & Print — бесплатная утилита с поддержкой экспорта в Excel, PDF, HTML.
    • TreeSize — платный инструмент для анализа дискового пространства (есть пробная версия).

    Эти программы решают сразу несколько задач:

    • 📊 Визуализация структуры в виде дерева.
    • 📈 Анализ занятого места (полезно для очистки диска).
    • 📄 Экспорт в Excel с сохранением иерархии.

    —— • ——

    Пример работы с Directory List & Print:

    1. Скачайте и установите программу с официального сайта: https://www.infonautics.ch/directorylistprint/.

    2. Запустите утилиту и выберите папку для сканирования.

    3. Настройте параметры экспорта:

      • 📁 Include subfolders — включить вложенные папки.
      • 📄 Export formatExcel (.xls).
      • 📌 Columns — выберите столбцы (например, Name, Size, Modified).
  • Нажмите Start и дождитесь завершения сканирования.

  • Сохраните отчёт в формате .xls или .csv.

  • —— • ——

    5. Способ: Макрос VBA для автоматизации (продвинутый уровень)

    Если вы часто работаете с Excel и нуждаетесь в полностью автоматизированном решении, можно написать макрос на VBA, который будет сам обходить папки и заполнять таблицу. Этот метод требует базовых знаний программирования, но даёт максимальную гибкость: вы можете настраивать формат вывода, добавлять фильтры (например, исключать системные папки) или даже интегрировать экспорт с другими задачами.

    Ниже приведён пример макроса, который рекурсивно сканирует указанную папку и выводит список вложенных директорий в текущий лист Excel. Важно: перед запуском макроса включите поддержку Microsoft Scripting Runtime (Alt + F11 → Tools → References → Отметьте "Microsoft Scripting Runtime").

    —— • ——

    Код макроса для Excel VBA:

    Sub ExportFoldersToExcel()
    

    Dim fso As New FileSystemObject

    Dim folder As Folder

    Dim subfolder As Folder

    Dim outputRow As Long

    ' Укажите путь к папке здесь

    Set folder = fso.GetFolder("C:\Ваш\Путь")

    ' Заголовки столбцов

    Range("A1").Value = "Путь к папке"

    Range("B1").Value = "Дата изменения"

    Range("C1").Value = "Атрибуты"

    outputRow = 2

    ' Рекурсивный обход папок

    Call ProcessFolder(folder, outputRow)

    ' Автоподбор ширины столбцов

    Columns("A:C").AutoFit

    End Sub

    Sub ProcessFolder(ByVal folder As Folder, ByRef outputRow As Long)

    Dim subfolder As Folder

    Dim fso As New FileSystemObject

    ' Записываем текущую папку

    Cells(outputRow, 1).Value = folder.Path

    Cells(outputRow, 2).Value = folder.DateLastModified

    Cells(outputRow, 3).Value = GetAttributes(folder.Attributes)

    outputRow = outputRow + 1

    ' Обрабатываем вложенные папки

    For Each subfolder In folder.Subfolders

    Call ProcessFolder(subfolder, outputRow)

    Next subfolder

    End Sub

    Function GetAttributes(attributes As Long) As String

    Dim attrString As String

    If (attributes And 1) = 1 Then attrString = attrString & "Только чтение, "

    If (attributes And 2) = 2 Then attrString = attrString & "Скрытый, "

    If (attributes And 4) = 4 Then attrString = attrString & "Системный, "

    If (attributes And 16) = 16 Then attrString = attrString & "Папка, "

    If Len(attrString) > 0 Then attrString = Left(attrString, Len(attrString) - 2)

    GetAttributes = attrString

    End Function

    —— • ——

    Как запустить макрос:

    1. Откройте Excel и нажмите Alt + F11, чтобы открыть редактор VBA.

    2. Вставьте код выше в новый модуль (Insert → Module).

    3. Измените путь "C:\Ваш\Путь" на актуальный.

    4. Закройте редактор и запустите макрос (Alt + F8 → Выберите ExportFoldersToExcel → Выполнить).

    5. ⚠️ Внимание: Макросы могут быть заблокированы настройками безопасности Excel. Если при запуске появляется ошибка, перейдите в Файл → Параметры → Центр управления безопасностью → Параметры центра управления безопасностью → Параметры макросов и выберите Включить все макросы (временно).

      —— • ——

      Бонус: Расширенные возможности экспорта

      Если базовый список папок вас не устраивает, и нужны дополнительные данные, рассмотрите следующие варианты:

      • 📊 Экспорт с размерами папок: используйте PowerShell с командой:
      • Get-ChildItem -Path "C:\Путь" -Directory -Recurse | Select-Object FullName, @{Name="Size (MB)"; Expression={(Get-ChildItem $_.FullName -Recurse -File | Measure-Object -Property Length -Sum).Sum / 1MB}} | Export-Csv -Path "C:\output\sizes.csv"
      • 🔍 Фильтрация по дате: чтобы экспортировать только папки, изменённые после определённой даты:
      • Get-ChildItem -Path "C:\Путь" -Directory -Recurse | Where-Object { $_.LastWriteTime -gt "01.01.2026" } | Select-Object FullName | Export-Csv -Path "C:\output\recent_folders.csv"
      • 🔒 Экспорт прав доступа: для этого понадобится модуль NTFSSecurity:
      • Import-Module NTFSSecurity
        

        Get-ChildItem -Path "C:\Путь" -Directory -Recurse | Get-NTFSAccess | Select-Object Path, Account, AccessRights | Export-Csv -Path "C:\output\permissions.csv"

    Как экспортировать список папок с сетевого диска?

    Для работы с сетевыми папками используйте UNC-пути (например, \\server\share) в командах PowerShell или CMD. Убедитесь, что у вас есть права на чтение! Если команда выдаёт ошибку Access Denied, попробуйте запустить консоль от имени администратора или проверьте сетевые разрешения.

    —— • ——

    FAQ: Частые вопросы

    Можно ли экспортировать список папок с Google Диска или OneDrive?

    Да, но не напрямую через командную строку. Варианты:

    1. Google Диск: используйте Google Apps Script с функцией DriveApp.getFolders().
    2. OneDrive: синхронизируйте папки на локальный диск, затем экспортируйте стандартными методами.

    Для облачных хранилищ также подойдут специализированные утилиты, например, RaiDrive (монтирует облако как сетевой диск).

    Почему в Excel вместо имён папок отображаются знаки вопроса или кракозябры?

    Проблема связана с кодировкой. Решения:

    • При экспорте через PowerShell всегда указывайте -Encoding UTF8.
    • В Excel при открытии файла .csv выберите кодировку UTF-8 (в окне импорта).
    • Если файл уже открыт с ошибками, закройте его и откройте через Данные → Из текста/CSV → Выберите файл → Укажите кодировку 65001 (UTF-8).
    Как экспортировать список папок с указанием количества файлов в каждой?

    Используйте этот скрипт для PowerShell:

    Get-ChildItem -Path "C:\Путь" -Directory -Recurse | Select-Object FullName, @{Name="FileCount"; Expression={(Get-ChildItem $_.FullName -File).Count}} | Export-Csv -Path "C:\output\folders_with_counts.csv" -Encoding UTF8

    В результате вы получите два столбца: Путь к папке и Количество файлов.

    Можно ли автоматизировать экспорт по расписанию?

    Да, с помощью Планировщика заданий Windows:

    1. Создайте .bat-файл с командой экспорта (например, powershell -command "Get-ChildItem -Path 'C:\Путь' -Directory -Recurse | Export-Csv -Path 'C:\output\folders.csv' -Encoding UTF8").
    2. Откройте Планировщик заданий (taskschd.msc).
    3. Создайте новую задачу, укажите путь к .bat-файлу и настройте расписание (ежедневно, еженедельно и т. д.).

    Для отправки отчёта по email добавьте в скрипт команду Send-MailMessage (требуется настройка SMTP).

    Как экспортировать список папок из Linux или macOS?

    В Linux/macOS используйте команду tree (установите через sudo apt install tree или brew install tree):

    tree -d -o folders.txt

    Флаги:

    • -d — только папки (исключает файлы).
    • -o folders.txt — сохраняет результат в файл.

    Чтобы перенести данные в Excel, откройте folders.txt и импортируйте через Данные → Из текста (разделитель — табуляция).

    —— • ——