Быстрее всего задача решается одной командой в командной строке: откройте нужную папку в Проводнике, введите в адресной строке cmd и выполните dir /b > list.txt — рядом появится файл list.txt с именами всех объектов каталога. Это работает в любой актуальной версии Windows без установки сторонних программ.
Ниже разберём несколько способов: через командную строку, PowerShell, пакетный файл и файловые менеджеры. У каждого метода свои особенности — где-то проще получить только имена, где-то удобнее выгрузить размеры, даты изменения и структуру вложенных подпапок.
Список файлов через командную строку (cmd)
Классический инструмент — команда dir. Самый быстрый способ открыть консоль сразу в нужной папке: перейдите в каталог в Проводнике, кликните по адресной строке, введите cmd и нажмите Enter. Командная строка запустится уже с текущим путём, и вручную прописывать его не придётся.
Теперь выполните команду:
dir /b > list.txt
Ключ /b включает «голый» формат вывода — только имена файлов без служебных колонок. Оператор > перенаправляет результат не на экран, а в файл list.txt, который создаётся в той же папке. Если нужно включить и содержимое вложенных каталогов, добавьте ключ /s:
dir /b /s > list.txt
Учтите: с ключом /s имена выводятся с полными путями, а сам файл list.txt тоже попадёт в выгрузку, так как создаётся до завершения команды. Чтобы этого избежать, сохраняйте результат в другую папку, например dir /b > C:\Temp\list.txt.
☑️ Выгрузка списка через cmd
Получение списка через PowerShell
PowerShell даёт больше контроля над форматом выгрузки. Открыть его можно так же, как cmd, — введите powershell в адресной строке Проводника. Базовая команда выглядит так:
Get-ChildItem | Select-Object Name | Out-File list.txt
Здесь Get-ChildItem получает содержимое папки, Select-Object Name оставляет только имена, а Out-File записывает их в текстовый файл. Если нужны и вложенные каталоги, добавьте параметр -Recurse:
Get-ChildItem -Recurse -File | Select-Object FullName | Out-File list.txt
Ключ -File исключает папки из выгрузки — останутся только файлы. Для выгрузки в формате CSV с размерами и датами удобна связка с Export-Csv: такой файл потом легко открывается в Excel для сортировки и фильтрации.
⚠️ Внимание: при выводе черезOut-Fileдлинные имена могут обрезаться по ширине консоли. Чтобы этого не произошло, укажите параметр-Widthс большим значением, напримерOut-File list.txt -Width 300.
Автоматизация через bat-файл
Если выгружать список нужно регулярно — например, еженедельно фиксировать содержимое рабочего каталога, — удобнее создать пакетный файл. Откройте Блокнот, вставьте команду и сохраните документ с расширением .bat, выбрав тип файла «Все файлы».
@echo off
cd /d "%~dp0"
dir /b /s > spisok_%date:~0,2%-%date:~3,2%-%date:~6,4%.txt
Строка cd /d "%~dp0" переводит скрипт в папку, где лежит сам bat-файл, — так его можно просто копировать в любой каталог и запускать двойным кликом. Имя итогового файла в примере дополняется текущей датой, чтобы новые выгрузки не затирали старые.
Обратите внимание: формат переменной %date% зависит от региональных настроек системы, поэтому в некоторых конфигурациях шаблон даты в имени файла придётся скорректировать. Проверьте результат на одном запуске, прежде чем ставить скрипт в планировщик задач.
Выгрузка через файловые менеджеры
Не всем удобно работать с консолью. Файловые менеджеры вроде Total Commander позволяют скопировать имена выделенных файлов в буфер обмена: выделите объекты и воспользуйтесь соответствующей командой в меню «Выделение» (в разных версиях она может называться «Копировать имена в буфер» или аналогично). Затем вставьте результат в Блокнот и сохраните как .txt.
Точные названия пунктов меню зависят от версии программы и языка интерфейса, поэтому сверьтесь со справкой вашего файлового менеджера. В FreeCommander и Double Commander похожие функции также присутствуют, обычно в меню работы с выделением или через контекстное меню.
- 📋 Total Commander — копирование имён и путей выделенных файлов в буфер обмена.
- 🗂️ Double Commander — аналогичная функция, бесплатная альтернатива.
- 🖱️ Проводник Windows — зажмите Shift, кликните правой кнопкой и выберите «Копировать как путь».
Способ с «Копировать как путь» — самый простой вариант без консоли вообще: выделяете файлы в Проводнике, копируете пути и вставляете в текстовый редактор. Минус — в список попадают полные пути в кавычках, которые иногда приходится чистить вручную.
Фильтрация, сортировка и формат вывода
Редко нужен список «как есть» — чаще требуется отфильтровать файлы по типу или отсортировать результат. В cmd для этого служат дополнительные ключи команды dir и подстановочные знаки:
dir /b *.pdf > pdf_list.txt
dir /b /o:n > sorted.txt
dir /b /a:-d > only_files.txt
Первая команда выгружает только PDF-документы, вторая сортирует вывод по имени (/o:n; по дате — /o:d, по размеру — /o:s), третья исключает папки из списка. В PowerShell фильтрация делается через параметр -Filter или Where-Object.
| Команда | Что делает | Когда использовать |
|---|---|---|
dir /b > list.txt | Только имена файлов текущей папки | Быстрая простая выгрузка |
dir /b /s > list.txt | Полные пути с учётом подпапок | Каталогизация вложенной структуры |
dir /b *.jpg > list.txt | Фильтр по расширению | Список файлов одного типа |
tree /f > tree.txt | Дерево каталогов с файлами | Наглядная структура папки |
Get-ChildItem -Recurse -File | Гибкая выгрузка через PowerShell | Экспорт в CSV, сложные фильтры |
Команда tree /f > tree.txt — единственный встроенный способ получить не плоский список, а наглядное дерево папок с отступами, что удобно для документирования структуры проекта или архива.
Кодировка и проблемы с кириллицей
Частая неприятность: открываешь готовый list.txt, а вместо русских имён — кракозябры. Причина в том, что cmd по умолчанию работает в кодировке OEM (обычно CP866), а Блокнот и другие редакторы ожидают ANSI или UTF-8.
Решений несколько. Перед командой dir выполните chcp 65001 — консоль переключится на UTF-8, и выгрузка сохранится в этой кодировке. Альтернатива — открыть готовый файл в редакторе вроде Notepad++ и вручную выбрать правильную кодировку при открытии либо перекодировать документ.
⚠️ Внимание: PowerShell 5.1 по умолчанию сохраняет файлы черезOut-Fileв UTF-16 LE, из-за чего некоторые программы отображают текст с пробелами между символами. Укажите кодировку явно:Out-File list.txt -Encoding utf8.
Если в именах файлов встречаются спецсимволы или очень длинные пути, консольные методы всё равно справляются, но проверяйте результат на полноту: откройте текстовый файл и сравните количество строк с количеством объектов в папке.
Как посчитать количество файлов в папке
В cmd выполните: dir /b /a:-d | find /c /v "" — команда выведет число файлов без учёта подпапок. В PowerShell аналог: (Get-ChildItem -File).Count
Типичные ошибки и их решение
Разберём ситуации, с которыми чаще всего сталкиваются при выгрузке списков. Первая — ошибка «Отказано в доступе»: она возникает, если папка системная или у учётной записи нет прав на запись в неё. Запустите консоль от имени администратора или перенаправьте вывод в каталог, куда запись разрешена, например в «Документы».
Вторая типичная ситуация — пустой результирующий файл. Возможные причины: команда выполнена не в той папке (проверьте текущий путь в строке приглашения консоли), либо в каталоге действительно нет файлов, либо фильтр по расширению не совпал ни с одним объектом. Выполните dir без перенаправления и посмотрите, что выводится на экран.
- 🚫 «Отказано в доступе» — запустите консоль от имени администратора или сохраняйте файл в другую папку.
- 📄 Пустой list.txt — проверьте текущий каталог командой
cdбез параметров. - 🔤 Кракозябры вместо кириллицы — выполните
chcp 65001перед выгрузкой. - 📁 В списке лишний list.txt — сохраняйте результат вне выгружаемой папки.
⚠️ Внимание: оператор>полностью перезаписывает файл. Если нужно дописать новые данные к существующему списку, используйте двойной оператор>>, иначе прежнее содержимое будет потеряно.
Часто задаваемые вопросы
Как получить список файлов без полных путей, только имена?
Используйте dir /b > list.txt без ключа /s — выводятся только имена объектов текущей папки. В PowerShell аналог: Get-ChildItem -Name | Out-File list.txt.
Можно ли выгрузить список вместе с размерами файлов?
Да. В cmd уберите ключ /b — тогда в файл попадут даты и размеры в табличном виде, но вместе со служебными строками. Аккуратнее это делает PowerShell: Get-ChildItem | Select-Object Name, Length | Export-Csv list.csv -NoTypeInformation — результат удобно открыть в Excel.
Как включить в список содержимое всех подпапок?
Добавьте ключ /s к команде dir: dir /b /s > list.txt. Имена будут выведены с полными путями. В PowerShell используйте параметр -Recurse.
Почему в текстовом файле вместо русских букв непонятные символы?
Командная строка сохраняет вывод в кодировке OEM, а редакторы открывают файл в другой. Перед выгрузкой выполните chcp 65001 для перехода на UTF-8 либо перекодируйте готовый файл в Notepad++.
Есть ли способ без командной строки вообще?
Да: выделите файлы в Проводнике, зажмите Shift, кликните правой кнопкой мыши и выберите «Копировать как путь», затем вставьте результат в Блокнот. Также подойдут файловые менеджеры вроде Total Commander с функцией копирования имён в буфер обмена.