Как скопировать список файлов из папки в Windows 11

Коротко о принципах
- Command Prompt (cmd) — классический интерпретатор команд Windows. Команды типа dir позволяют перенаправлять вывод в файлы.
- Команда dir с разными ключами возвращает разные форматы: «bare» (только имена), подробный список (с датой и размером), рекурсивный список.
- Комбинация с clip копирует вывод в буфер обмена.
Как скопировать список имён файлов в текстовый файл через Command Prompt
Этот метод нужен, если вам достаточно простого списка имён файлов (например, для импорта в таблицу или для учёта). Команды выполняются в окне Command Prompt, и результат сразу записывается в .txt.
- Откройте меню поиска в Windows (значок лупы на панели задач) или нажмите Win + S.
- Введите cmd и выберите «Командная строка» (Command Prompt).
- В окне командной строки перейдите в нужную папку. Примеры:
- Перейти на диск C: и в корень: cd\
- Перейти в подкаталог: cd “C:\Путь\К\Папке”
- Создайте файл со списком имён командой (ввести и нажать Enter):
dir /b > filename.txtПояснение: /b — «bare» формат (только имена файлов и папок). > перенаправляет вывод в файл filename.txt в текущей папке.
- Откройте Проводник (Win + E), перейдите в эту папку и откройте filename.txt двойным щелчком.
Примеры вариаций и полезные опции:
- С рекурсией (включить файлы во всех подпапках):
dir /b /s > all-files-recursive.txt- Только файлы (без папок), отсортированные по имени, и сохранить в файл:
dir /a:-d /o:n > files-only.txt- Получить подробный список с датой и размером и сохранить:
dir > detailed-list.txt- Если нужен список в определённой кодировке (PowerShell даёт больше контроля). Командная строка может использовать chcp для смены кодовой страницы, но проще воспользоваться PowerShell для UTF-8.
PowerShell-альтернатива (если хотите экспортировать имена в UTF-8):
Get-ChildItem -File | Select-Object -ExpandProperty Name | Out-File -Encoding utf8 list.txtPowerShell даёт гибкость: фильтры по маске (*.docx), рекурсия через -Recurse, вывод полных путей через FullName.
Важно: если в именах файлов есть необычные символы или иностранные буквы, используйте PowerShell с указанием кодировки (Out-File -Encoding utf8), чтобы избежать искажений.
Как добавить опцию «Копировать список файлов в буфер обмена» в контекстное меню
Если вы часто составляете списки файлов, можно добавить элемент в контекстное меню папки — тогда правый клик даст команду, которая скопирует список в буфер обмена. Для этого вносятся изменения в реестр. Перед изменением реестра настоятельно рекомендуется создать точку восстановления или экспортировать ветку реестра.
Важное: Редактирование реестра несёт риск. Действуйте аккуратно и сделайте резервную копию реестра.
Пошагово:
- Нажмите Win + R для запуска окна «Выполнить».
- Введите regedit и нажмите ОК, чтобы открыть Редактор реестра.
- Перейдите к ключу:
HKEY_CLASSES_ROOT\Directory\shell- Щёлкните правой кнопкой по ключу shell → New → Key (Новый → Ключ).
- Дайте новому ключу имя: copylist (имя ключа служит внутренним идентификатором).
- Выберите созданный ключ copylist и дважды щёлкните по строке (Default) в правой части. В поле «Значение» введите текст, который будет отображаться в меню. Для русской локали можно ввести:
Копировать список файлов в буфер обмена(Если ваша система на английском, можно оставить «Copy File List to Clipboard».)
- Внутри copylist щёлкните правой кнопкой → New → Key и назовите его command.
- Выберите ключ command и дважды щёлкните (Default). В поле «Значение» вставьте точную команду:
cmd /c dir "%1" /a:-d /o:n | clipПояснение команды:
- cmd /c — запустить команду и закрыть окно cmd.
- dir “%1” — вывести содержимое папки, где %1 — путь выбранной папки.
- /a:-d — исключить директории, показывать только файлы.
- /o:n — сортировка по имени.
- | clip — перенаправить вывод в буфер обмена.
- Нажмите ОК и закройте Редактор реестра.
После этого в Проводнике щёлкните правой кнопкой по папке → «Показать дополнительные параметры» (Show more options) → найдите пункт «Копировать список файлов в буфер обмена» (или английский текст, если вы так указали). Команда скопирует текст в буфер обмена, который затем можно вставить в Блокнот, Excel или другое приложение (Ctrl+V).
Удаление опции: чтобы убрать пункт, откройте regedit, перейдите к HKEY_CLASSES_ROOT\Directory\shell и удалите ключ copylist.
Варианты и тонкости
- Детализированный вывод (дата, размер) даёт команда dir без /b. Если вы хотите, чтобы в списке были дата и размер, используйте в реестре значение:
cmd /c dir "%1" /o:n | clipЭто вернёт более подробную таблицу, включая итоговое число файлов и суммарный объём, но формат будет ориентирован на чтение человеком, а не на автоматический парсинг.
- Если нужно получить полные пути файлов, а не только имена, используйте PowerShell в реестре:
powershell -NoProfile -Command "Get-ChildItem -File -Path '%1' | ForEach-Object { $_.FullName } | Set-Clipboard"(Эта команда копирует в буфер полные пути файлов. PowerShell обеспечивает лучшую работу с путями и кодировками.)
- Для рекурсивного копирования файлов и путей используйте Get-ChildItem -Recurse.
Когда эти методы не подойдут
- Если нужна структурированная таблица с отдельными колонками (имя, дата изменения, размер, расширение), лучше экспортировать через PowerShell и формировать CSV:
Get-ChildItem -File | Select-Object Name,LastWriteTime,Length,Extension | Export-Csv -NoTypeInformation -Encoding utf8 list.csv- Для больших и частых операций по учёту файлов подходит специализированное ПО по инвентаризации файловой системы.
Рекомендации по безопасности и восстановлению
- Перед правкой реестра создайте точку восстановления или экспортируйте ветку Registry: в regedit выберите ключ shell → File → Export.
- Проверяйте введённые команды: кавычки и экранирование пути важны, особенно когда в путях есть пробелы.
Критерии приёмки
- Командная строка: создан файл .txt в целевой папке, содержащий ожидаемый набор имён файлов.
- Контекстное меню: после правого клика и выбора пункта соответствующий текст появился в буфере обмена и корректно вставился в блокнот или таблицу.
- Кодировка и символы: если присутствуют национальные символы, вывод читается корректно (использовать PowerShell при необходимости).
Руководство выбора (когда что использовать)
- Нужен быстрый одноразовый список имён → Command Prompt (dir /b).
- Хочется удобной опции в Проводнике для повторного использования → добавить пункт в контекстное меню через реестр.
- Нужна структурированная выгрузка/CSV → PowerShell и Export-Csv.
Короткие чеклисты по ролям
- Для обычного пользователя:
- Открыть папку → Command Prompt → dir /b > list.txt → открыть list.txt.
- Для администратора:
- Создать резервную копию реестра → добавить ключ copylist → протестировать на тестовой папке.
- Для аналитика/разработчика:
- Использовать PowerShell → Export-Csv → импорт в Excel/скрипт.
Быстрые сниппеты (шпаргалка)
- Простой список имён:
dir /b > list.txt- Рекурсивный список (включая подпапки):
dir /b /s > allfiles.txt- Точный список только файлов и копирование в буфер:
dir "%1" /a:-d /o:n | clip- PowerShell — имена в UTF-8:
Get-ChildItem -File | Select-Object -ExpandProperty Name | Out-File -Encoding utf8 list.txt- PowerShell — полные пути в буфер обмена:
Get-ChildItem -File -Path 'C:\Путь\К\Папке' | ForEach-Object { $_.FullName } | Set-ClipboardМодель принятия решения (диаграмма)
flowchart TD
A[Нужен список файлов?] --> B{Требуется структура?}
B -- Нет --> C[Использовать dir /b > file.txt]
B -- Да --> D{Нужен CSV или полные пути?}
D -- CSV --> E[PowerShell + Export-Csv]
D -- Полные пути --> F[PowerShell + Set-Clipboard]
C --> G[Готово]
E --> G
F --> GКраткое резюме
- Command Prompt даёт быстрый и лёгкий способ получить список имён файлов (dir /b > filename.txt).
- Добавление пункта в контекстное меню через реестр позволяет копировать в буфер обмена более детальный список без ручного открытия командной строки.
- Для лучшей совместимости с кодировками и для структурированных выгрузок используйте PowerShell.
В итоге: выбирайте метод в зависимости от задач — одноразовый экспорт, частое использование или необходимость получить данные в машиночитаемом виде. Если сомневаетесь — начните с простого dir /b и затем переходите к PowerShell или реестру при росте требований.
Похожие материалы
Скрыть игры в Steam Replay — защита приватности
Исправить ошибку Activation context generation failed
Как удалить аккаунт в Instagram — инструкция
Избежать чёрного рабочего стола в Windows 7
Как убрать метку с себя в Instagram