Как вывести список папок в Excel: от ручного ввода до автоматизации

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

Выбор способа зависит от ваших навыков и требований: нужно ли сохранить иерархию вложенных папок, требуется ли обновление списка в реальном времени, или достаточно одноразового экспорта? Мы рассмотрим решения для Windows 10/11 и macOS, а также универсальные инструменты, работающие в облачных сервисах. Особое внимание уделим скрытым ловушкам: почему некоторые папки не отображаются в результатах, как избежать дубликатов и что делать, если Excel"обрезает" длинные пути.

Если вы никогда не работали с Power Query или VBA, не переживайте — первые два метода не требуют знания программирования. Для опытных пользователей мы подготовили продвинутые техники с использованием Command Prompt и Python, которые позволят гибко настраивать вывод данных. А в конце статьи вас ждёт сравнительная таблица всех способов по критериям скорости, сложности и функциональности.

Важно! Перед началом работы рекомендуем создать резервную копию папки, которую вы анализируете. Некоторые методы (например, скрипты VBA) могут случайно изменить атрибуты файлов при некорректном использовании.

Метод 1: Ручной экспорт через Проводник Windows (без программирования)

Самый простой способ — использовать встроенные функции Windows. Он подходит для одноразового экспорта небольшого количества папок (до 100–200 элементов) и не требует установки дополнительного ПО.

Откройте Проводник Windows (Win + E) и перейдите в нужную директорию. Выделите папки, которые хотите экспортировать, удерживая Ctrl или Shift. Затем нажмите Ctrl + C, чтобы скопировать их в буфер обмена. Теперь откройте Excel и вставьте данные (Ctrl + V). Система автоматически распознает имена папок как текст и разместит их в столбце A.

Этот метод имеет ограничения:

  • 📁 Не сохраняется иерархия вложенных папок — только имена верхнего уровня.
  • 🔍 Не отображаются скрытые папки (например, AppData или .git).
  • 📊 Нет дополнительных атрибутов (дата создания, размер, расширение).

Если вам нужно экспортировать всю структуру каталогов (включая подпапки), переходите к следующему методу.

Метод 2: Power Query — автоматическое обновление списка

Power Query (встроенный инструмент в Excel 2016 и новее) позволяет импортировать данные из папок с возможностью автоматического обновления при изменении структуры каталога. Это идеальный вариант для регулярного мониторинга файлов, например, при работе с архивами или проектной документацией.

Инструкция по шагам:

  1. Откройте Excel и перейдите на вкладку Данные → Получить данные → Из файла → Из папки.
  2. Укажите путь к нужной директории и нажмите OK.
  3. В открывшемся окне выберите Преобразовать данные (откроется редактор Power Query).
  4. Удалите ненужные столбцы (например, Расширение или Дата изменения), оставив только Имя и Путь.
  5. Нажмите Закрыть и загрузить, чтобы экспортировать данные в Excel.

Преимущества метода:

  • 🔄 Возможность обновлять список одним кликом (Данные → Обновить все).
  • 📂 Поддержка вложенных папок (опция"Включить данные из подпапок").
  • 📊 Гибкая фильтрация по атрибутам (размер, дата, тип файла).

Ограничение: Power Query не показывает скрытые и системные файлы. Чтобы их включить, потребуется предварительно изменить атрибуты через Command Prompt:

attrib -h -s"C:\путь\к\папке\." /s /d

Убедитесь, что папка не содержит файлов с недопустимыми символами (?, *,:)

Проверьте права доступа к директории

Отключите антивирус на время импорта (может блокировать сканирование)

Сохраните книгу Excel перед началом работы-->

Метод 3: Командная строка (CMD) — экспорт с расширенными данными

Для пользователей, которым нужны полные пути, атрибуты файлов или работа со скрытыми каталогами, подойдёт метод с использованием Command Prompt. Этот способ требует минимальных знаний командной строки, но даёт максимальную гибкость.

Откройте CMD (Win + R → введите cmdEnter) и выполните команду:

dir"C:\путь\к\папке" /a-d /b /s >"C:\output\список_файлов.txt"

Расшифровка параметров:

  • /a-d — показывать только файлы (исключить папки).
  • /b — краткий формат (только имена).
  • /s — включать подпапки.
  • >"путь\файл.txt" — перенаправить вывод в текстовый файл.

Чтобы экспортировать только папки, используйте:

dir"C:\путь\к\папке" /ad /b /s >"C:\output\список_папок.txt"

Готовый текстовый файл можно импортировать в Excel через Данные → Из текста. Для разделения путей по столбцам (например, выделить имя папки и родительский каталог) используйте функцию =РАЗДЕЛИТЬ(TEXT;"\") в Excel 365 или Текст по столбцам в более старых версиях.

Как экспортировать дополнительные атрибуты файлов?

Добавьте параметр /T:C для даты создания или /T:W для даты последней записи. Пример:

dir"C:\путь" /a-d /b /s /T:C >"output.txt"

Чтобы включить размер файлов, используйте /-C (отобразит размер в байтах в отдельном столбце).

⚠️ Внимание: При работе с сетевыми папками (\\server\share) команда dir может вернуть ошибку"Отказано в доступе". В этом случае запустите CMD от имени администратора или используйте PowerShell с командлетом Get-ChildItem.

Метод 4: VBA-скрипт — продвинутая автоматизация

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

Откройте редактор VBA в Excel (Alt + F11) и вставьте следующий код в новый модуль:

Sub ListFolders

Dim FSO As Object, Folder As Object, SubFolder As Object

Dim i As Integer

Set FSO = CreateObject("Scripting.FileSystemObject")

Set Folder = FSO.GetFolder("C:\путь\к\папке")' Измените путь

i = 1

For Each SubFolder In Folder.SubFolders

Cells(i, 1).Value = SubFolder.Path

i = i + 1

Next SubFolder

End Sub

Чтобы экспортировать все файлы (включая вложенные папки), используйте рекурсивную функцию:

Sub ListAllFiles

Call RecursiveFolder("C:\путь\к\папке")' Измените путь

End Sub

Sub RecursiveFolder(FolderPath As String)

Dim FSO As Object, Folder As Object, File As Object, SubFolder As Object

Set FSO = CreateObject("Scripting.FileSystemObject")

Set Folder = FSO.GetFolder(FolderPath)

For Each File In Folder.Files

' Записываем файлы в столбец A

Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Value = File.Path

Next File

For Each SubFolder In Folder.SubFolders

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

RecursiveFolder SubFolder.Path

Next SubFolder

End Sub

Преимущества VBA:

  • 🤖 Полная автоматизация — можно запускать по расписанию.
  • 📌 Гибкая фильтрация (например, только файлы .xlsx или папки старше 30 дней).
  • 🔗 Интеграция с другими данными в Excel (например, сравнение со списком из другой таблицы).

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

Ручной через Проводник

Power Query

Командная строка (CMD)

VBA-скрипт

Другой вариант-->

Метод 5: Python — кросс-платформенное решение для macOS/Linux/Windows

Если вы работаете на macOS или Linux, либо вам нужно решение, которое будет работать на любой платформе, используйте Python. Этот метод требует установки интерпретатора (скачать Python), но предоставляет максимальную гибкость.

Установите библиотеку pandas (если ещё не установлена):

pip install pandas openpyxl

Создайте скрипт export_folders.py со следующим содержимым:

import os

import pandas as pd

def get_folders(path):

folders =

for root, dirs, files in os.walk(path):

for dir in dirs:

folders.append(os.path.join(root, dir))

return folders

Укажите путь к папке и файл Excel для экспорта

folder_path ="/путь/к/папке" # Для Windows:"C:\\путь\\к\\папке"

output_file ="список_папок.xlsx"

folders = get_folders(folder_path)

df = pd.DataFrame(folders, columns=["Путь к папке"])

df.to_excel(output_file, index=False)

print(f"Экспорт завершён. Файл сохранён как {output_file}")

Запустите скрипт командой:

python export_folders.py

Чтобы экспортировать файлы с атрибутами (размер, дата изменения), модифицируйте функцию:

def get_files_with_attrs(path):

files =

for root, dirs, files_list in os.walk(path):

for file in files_list:

full_path = os.path.join(root, file)

stat = os.stat(full_path)

files.append({

"Путь": full_path,

"Размер (байт)": stat.st_size,

"Дата изменения": stat.st_mtime,

"Тип":"Файл" if os.path.isfile(full_path) else"Папка"

})

return files

Преимущества Python:

  • 🐍 Кросс-платформенность (работает на Windows, macOS, Linux).
  • 📊 Возможность экспорта в .xlsx, .csv или базы данных.
  • 🔧 Легкая модификация под специфические задачи (например, исключение определённых расширений).

Сравнение методов: какой выбрать?

Чтобы облегчить выбор, мы составили таблицу с сравнением всех способов по ключевым критериям:

Метод Сложность Поддержка вложенных папок Атрибуты файлов Автообновление Кросс-платформенность
Ручной (Проводник) ⭐ (просто) ❌ Нет ❌ Нет ❌ Нет ❌ Только Windows
Power Query ⭐⭐ (средне) ✅ Да ✅ Дата, размер ✅ Да ❌ Только Windows/macOS (Excel)
Командная строка (CMD) ⭐⭐ (средне) ✅ Да ✅ Дата, атрибуты ❌ Нет ❌ Только Windows
VBA ⭐⭐⭐ (сложно) ✅ Да ✅ Любые (настраивается) ✅ Да ❌ Только Windows/macOS (Excel)
Python ⭐⭐⭐ (сложно) ✅ Да ✅ Любые (настраивается) ✅ Да (через cron/Task Scheduler) ✅ Все платформы

Рекомендации по выбору:

  • 📁 Для одноразового экспорта небольшого количества папок: Метод 1 (ручной) или Метод 3 (CMD).
  • 🔄 Для регулярного обновления: Метод 2 (Power Query) или Метод 4 (VBA).
  • 🐍 Для кросс-платформенных решений или сложной обработки: Метод 5 (Python).

Частые ошибки и их решения

При экспорте списка папок пользователи часто сталкиваются счными проблемами. Вот наиболее распространённые из них и способы их устранения:

1. Excel обрезает длинные пути

В Excel ограничение на длину текста в ячейке — 32 767 символов, но пути Windows могут превышать 260 символов. Решение:

  • Используйте Power Query — он корректно обрабатывает длинные пути.
  • В VBA или Python разбейте путь на части с помощью функции SPLIT.

2. Не отображаются скрытые папки

По умолчанию dir и Power Query игнорируют скрытые файлы. Чтобы их включить:

  • В CMD: добавьте параметр /a (показать все файлы, включая скрытые).
  • В Python: используйте os.listdir с флагом os.path.isdir.

3. Ошибка"Отказано в доступе"

Это происходит при работе с системными папками (например, C:\Windows) или сетевыми ресурсами. Решения:

  • Запустите CMD или скрипт от имени администратора.
  • В Python используйте модуль nt для изменения прав доступа:
import nt

nt.chmod(path, 0o777) # Даёт полные права (осторожно!)

⚠️ Внимание: Изменение прав доступа к системным папкам может нарушить работу операционной системы. Делайте это только если уверены в своих действиях.

4. Пути содержат кириллические символы

При экспорте в .csv или обработке в Python русские буквы могут отображаться как"кракозябры". Решение:

  • В Python укажите кодировку utf-8 при записи в файл:
df.to_excel("output.xlsx", index=False, encoding='utf-8')
  • В Excel при импорте текста выберите кодировку 65001 (Unicode UTF-8).

FAQ: Ответы на популярные вопросы

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

Да, но для этого потребуется использовать API сервисов или сторонние инструменты:

  • Для Google Диска: воспользуйтесь Google Drive API и скриптом на Python.
  • Для OneDrive: используйте Microsoft Graph API или Power Automate.

Более простой способ — синхронизировать облачное хранилище с локальной папкой и применить любой из описанных выше методов.

Как экспортировать список папок с указанием владельца файла?

В Windows информацию о владельце можно получить через CMD с утилитой icacls:

icacls"C:\путь\к\папке\*" /save output.txt /t

Для обработки результата используйте Power Query или Python с модулем win32security:

import win32security

sd = win32security.GetFileSecurity(file_path, win32security.OWNER_SECURITY_INFORMATION)

owner = win32security.GetSecurityDescriptorOwner(sd)

Почему в списке появляются дубликаты папок?

Дубликаты возникают, если:

  • Вы используете рекурсивный обход (/s в CMD или os.walk в Python) и не фильтруете результаты.
  • В структуре папок есть символические ссылки (symlink), которые указывают на одни и те же директории.

Решение: добавьте проверку на уникальность путей. В Excel используйте функцию =УНИКExcel 365), в Pythondf.drop_duplicates.

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

Да, для этого подойдут:

  • 📁 Импорт через Apps Script: напишите скрипт, который будет читать папку на Google Диске и записывать данные в таблицу.
  • 🔗 Импорт из Excel: экспортируйте список в Excel любым из описанных методов, затем загрузите файл в Google Sheets.

Пример кода для Apps Script:

function listFolders {

var folder = DriveApp.getFolderById("ID_папки");

var folders = folder.getFolders;

var data =;

while (folders.hasNext) {

var subfolder = folders.next;

data.push([subfolder.getName, subfolder.getUrl]);

}

SpreadsheetApp.getActiveSheet.getRange(1, 1, data.length, data[0].length).setValues(data);

}

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

Для автоматического запуска используйте:

  • 🪓 Windows: Планировщик заданий (Task Scheduler). Создайте задачу, которая будет запускать CMD-скрипт или Python-программу.
  • 🐧 Linux/macOS: cron. Добавьте строку в crontab -e:
    0 0   * /usr/bin/python3 /путь/к/скрипту.py
  • 📊 Excel: Сохраните книгу с макросом VBA и настройте автоматическое открытие файла через Планировщик заданий.