Скопировать имена файлов в папке в текстовый файл можно за несколько секунд через команду 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
Проблема кодировки: кракозябры вместо русских имён
Частая неприятность при использовании dir /b — файл открывается в Блокноте, а вместо русских букв отображаются нечитаемые символы. Причина в том, что консоль Windows по умолчанию работает в кодировке OEM (CP866), а Блокнот ожидает ANSI или UTF-8.
Решений два. Первое — перед командой переключить кодовую страницу консоли:
chcp 65001
dir /b > список.txt
Второе — использовать PowerShell, который корректно пишет Unicode. Об этом в следующем разделе.
⚠️ Внимание: если в именах файлов есть кириллица, не сохраняйте список через dir /b без смены кодировки — иначе получите нечитаемый текст, который придётся перекодировать отдельно.
Способ 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 для запуска терминала в папке используйте «Открыть в Терминале».