Как скопировать имена файлов в папке в текстовый файл

Скопировать имена файлов в папке в текстовый файл можно за несколько секунд через команду dir /b > list.txt в командной строке — это самый быстрый способ, не требующий установки программ. Такая задача возникает регулярно: нужно составить список документов для отчёта, выгрузить перечень фотографий, сверить содержимое архива или передать коллеге список файлов проекта. Ручное переписывание названий при сотнях файлов — путь к ошибкам и потере времени.

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

Способ 1: командная строка (cmd) — самый быстрый вариант

Классический метод — команда dir с перенаправлением вывода в файл. Откройте нужную папку в Проводнике, зажмите Shift, кликните правой кнопкой мыши по свободному месту и выберите пункт «Открыть окно PowerShell здесь» или «Открыть в Терминале» (название зависит от версии Windows). Либо запустите cmd и перейдите в каталог командой cd.

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

dir /b > список.txt

Ключ /b (bare format) убирает даты, размеры и заголовки — остаются только имена, по одному на строку. Результат сохраняется в файл список.txt в той же папке. Если нужно включить и вложенные каталоги, добавьте ключ /s:

dir /b /s > список.txt

Учтите: с ключом /s в список попадают полные пути, а не только имена. Для фильтрации по типу файлов укажите маску, например dir /b *.jpg > фото.txt — так выгрузятся только изображения.

☑️ Выгрузка списка файлов через cmd

Выполнено: 0 / 4

Проблема кодировки: кракозябры вместо русских имён

Частая неприятность при использовании dir /b — файл открывается в Блокноте, а вместо русских букв отображаются нечитаемые символы. Причина в том, что консоль Windows по умолчанию работает в кодировке OEM (CP866), а Блокнот ожидает ANSI или UTF-8.

Решений два. Первое — перед командой переключить кодовую страницу консоли:

chcp 65001

dir /b > список.txt

Второе — использовать PowerShell, который корректно пишет Unicode. Об этом в следующем разделе.

⚠️ Внимание: если в именах файлов есть кириллица, не сохраняйте список через dir /b без смены кодировки — иначе получите нечитаемый текст, который придётся перекодировать отдельно.
📊 Каким способом вы копируете имена файлов в текст?
Командная строка (dir /b)
PowerShell
Shift + ПКМ в Проводнике
Сторонние программы

Способ 2: PowerShell — гибко и без проблем с кодировкой

PowerShell даёт больше контроля: сортировку, фильтрацию, выбор конкретных свойств. Базовая команда для выгрузки имён выглядит так:

Get-ChildItem -Name | Out-File -FilePath "список.txt" -Encoding utf8

Параметр -Name возвращает только имена, а -Encoding utf8 гарантирует корректное отображение русских букв в любом редакторе. Это самый надёжный способ избежать проблем с кириллицей без дополнительных манипуляций.

Несколько полезных вариаций:

  • 📁 Только файлы, без папок: Get-ChildItem -File -Name
  • 🔍 Только определённый тип: Get-ChildItem -Filter *.pdf -Name
  • 📂 С вложенными папками: добавьте параметр -Recurse
  • 🔤 Сортировка по имени: добавьте конвейер | Sort-Object

Если нужен не просто список, а таблица с размерами и датами изменения, выгрузите данные в CSV:

Get-ChildItem | Select-Object Name, Length, LastWriteTime | Export-Csv "файлы.csv" -Encoding utf8 -NoTypeInformation

Такой файл откроется в Excel как готовая таблица — удобно для отчётности.

Способ 3: скопировать имена через Проводник без команд

Если командная строка не подходит, есть «мышиный» вариант. Выделите все файлы в папке комбинацией Ctrl + A, затем зажмите Shift и кликните правой кнопкой по выделенному — в контекстном меню появится скрытый пункт «Копировать как путь». Вставьте результат (Ctrl + V) в Блокнот.

Минус очевиден: копируются полные пути вида D:\Документы\отчет.docx, а не чистые имена. Убрать пути можно через поиск и замену в любом текстовом редакторе: найдите строку пути до папки (например, D:\Документы\) и замените на пустоту. В Notepad++ это делается за пару секунд через Ctrl + H.

Способ удобен для небольшого количества файлов, когда запускать терминал не хочется. Для сотен файлов с длинными путями чистка заменой становится утомительной — тут выигрывает командная строка.

Сравнение способов выгрузки имён файлов

Чтобы выбрать подходящий метод, ориентируйтесь на объём файлов, необходимость фильтрации и требования к формату результата.

Способ Скорость Кириллица Фильтрация Сложность
dir /b в cmd Очень быстро Требует chcp 65001 По маске Низкая
PowerShell Быстро Корректно из коробки Гибкая Средняя
Shift + ПКМ в Проводнике Медленно при чистке путей Корректно Нет Минимальная
Сторонние утилиты Быстро Зависит от программы Гибкая Низкая

Способ 4: сторонние программы и файловые менеджеры

Для тех, кто регулярно работает с каталогами файлов, удобнее графические инструменты. Файловый менеджер Total Commander позволяет выделить файлы и скопировать их имена в буфер обмена — функция доступна в меню выделения. Аналогичные возможности есть у FreeCommander и других двухпанельных менеджеров.

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

⚠️ Внимание: не скачивайте «генераторы списков файлов» с непроверенных сайтов и файлообменников. Задача решается встроенными средствами Windows, поэтому сторонняя программа оправдана только при регулярной работе с большими каталогами.
Как выгрузить дерево папок со структурой

В cmd есть команда tree /f > дерево.txt — она выводит графическое дерево каталогов с файлами. Результат удобен для документирования структуры проекта, но содержит служебные символы рамок, поэтому для чистого списка имён лучше подходит dir /b /s.

Типичные ошибки и их решения

Первая ошибка — команда выполняется, но файл пустой. Обычно причина в том, что терминал открыт не в той папке: проверьте текущий путь в приглашении командной строки и при необходимости перейдите командой cd /d "путь_к_папке".

Вторая ситуация — в список попал сам файл списка. Если вы создаёте список.txt в той же папке, при повторном запуске команды он тоже попадёт в выгрузку. Решение — сохранять результат в другой каталог, указав полный путь: dir /b > D:\список.txt.

Третья проблема — ошибка «Отказано в доступе». Она возникает при попытке записать файл в системную папку или каталог, где у вас нет прав на запись. Сохраняйте результат в свою папку «Документы» или запустите терминал от имени администратора, если это действительно необходимо.

  • ✅ Проверяйте текущий каталог перед выполнением команды
  • 💾 Сохраняйте результат вне сканируемой папки
  • 🔐 При ошибке доступа смените папку назначения, а не повышайте права без нужды
  • 🧪 Сначала выполните команду без >, чтобы увидеть вывод на экране
⚠️ Внимание: команда dir /b > файл.txt перезаписывает существующий файл без предупреждения. Если нужно добавить данные к уже созданному списку, используйте двойной символ >> — он дописывает вывод в конец файла.

Часто задаваемые вопросы

Как скопировать только имена файлов без расширений?

В PowerShell используйте команду Get-ChildItem -File | ForEach-Object { $_.BaseName } | Out-File "имена.txt" -Encoding utf8. Свойство BaseName возвращает имя файла без расширения.

Можно ли выгрузить список файлов из папки с подпапками?

Да. В cmd добавьте ключ /s: dir /b /s > список.txt — в файл попадут полные пути всех файлов включая вложенные каталоги. В PowerShell используйте параметр -Recurse.

Почему в текстовом файле вместо русских букв странные символы?

Командная строка Windows по умолчанию использует кодировку OEM, а текстовые редакторы — ANSI или UTF-8. Выполните перед командой chcp 65001 или используйте PowerShell с параметром -Encoding utf8.

Как сохранить список файлов сразу в Excel?

Выгрузите данные в CSV через PowerShell: Get-ChildItem | Select-Object Name, Length | Export-Csv "файлы.csv" -Encoding utf8 -NoTypeInformation. Полученный файл открывается в Excel как таблица.

Работают ли эти способы в Windows 11?

Да, команды dir и Get-ChildItem работают во всех актуальных версиях Windows. Отличается только пункт контекстного меню: в Windows 11 для запуска терминала в папке используйте «Открыть в Терминале».