-
Категория:
Технические советы -
– Автор:
Игорь (Администратор)
- Зачем может понадобиться список файлов из командной строки
- Выводим список файлов папки и ее подпапках на экран командной строки
- Создаем текстовый файл со списком файлов в командной строке
- Создаем текстовый файл со списком файлов определенного расширения в командной строке
- Получение всех mp3 файлов в папке и во всех вложенных папках из командной строки
- Получение всех фотографий в формате JPEG в папке и во всех вложенных папках из командной строки
- Получение простого формата списка из командной строки
Зачем может понадобиться список файлов из командной строки
Если вам когда-нибудь понадобиться получить список всех файлов, то вы обнаружите пренеприятнейшую новость. Интерфейс проводника Windows не позволяет вам это сделать в простой и понятной форме. И вроде бы задача до безумия проста, и вроде перед глазами все необходимые файлы, но… Однако, это можно очень просто сделать с помощью командной строки (cmd). Кроме того, командная строка позволит вам отфильтровать только необходимые файлы, например, только mp3. В данном случае мы будем использовать специальную команду «dir». Скорее всего, опытным пользователям это команда хорошо знакома, поэтому статья будет для них не интересной. Но, для большинства обычных пользователей она окажется весьма полезной.
Примечание: вы так же можете использовать различные каталогизаторы и органайзеры, то они требуют установки дополнительных приложений.
Если вам кажется, что это никогда вам в жизни не пригодится, то вы ошибаетесь. Практически каждый пользователь каждый день в неявном виде использует списки файлов. Это и поиск необходимого документа среди всех ваших документов. Это музыка. Это фотографии. Это различный экспорт файлов в ваших приложениях. Банально, тот же плей лист. Просто вы никогда не сталкивались с такими простыми задачами, как «передать список файлов, например, в техподдержку», «коллективно выбрать необходимую вам музыку из всего списка» (причем обычно это делается на бумаге, да существует огромное количество «модных девайсов», но они никогда не заменят такие простые вещи, как бумагу и карандаш), «загрузить список в новое приложение» (далеко не во всех приложениях качественно реализован импорт), «использование для технических нужд тех же консольных приложений» (например, различная пакетная обработка файлов; конечно, рядовой пользователь никогда не будет этого делать, но…) и многое многое другое.
Выводим список файлов папки и ее подпапках на экран командной строки
- Откройте командную строку в необходимой папке (см. предыдущую статью)
- Введите «dir» (без кавычек) и нажмите Enter. Вы получите список файлов (см. картинку)
- Если вам необходимо перечислить файлы во всех вложенных папках, то вместо «dir» используйте «dir /s» (вводить без кавычек)
Полученные списки могут быть довольно длинными, особенно если список создается для каких-нибудь объемных каталогов. Такие списки не поместятся на экране, и с ними будет не очень удобно работать. К счастью, вы очень легко можете сохранить весь полученный список в отдельный текстовый файл.
Создаем текстовый файл со списком файлов в командной строке
Для того чтобы выведенный список сохранить в текстовый файл, используется специальный символ перенаправления потока «>» (без кавычек).
- Откройте командную строку в необходимой папке.
- Введите «dir > listmyfolder.txt» (без кавычек) и нажмите Enter. Весь список сохранится в файле «listmyfolder.txt».
- Если вам необходимо так же сохранить файлы и из всех вложенных каталогов, то используйте команду «dir /s > listmyfolder.txt» (без кавычек)
Файл «listmyfolder.txt» будет создан в той же папке, в которой вы находитесь. Небольшой уточнение по поводу файла, вы можете называть его как вам будет угодно, задавать ему абсолютно любое расширение. Каких-то специальных ограничений нет, кроме тех, что требует система Windows к названиям файлов. Так же вы можете использовать полные пути, для сохранения списка в другом каталоге. Например, вы хотите сохранить файл на диске «F:» в каталоге «list». Для этого вам необходимо будет использовать такую команду «dir > F:\list\listmyfolder.txt» (без кавычек). Как видите ничего сложно нет.
Создаем текстовый файл со списком файлов определенного расширения в командной строке
Далеко не всегда вам необходимо получить все файлы в каталоге. Например, вы хотите получить только список фотографий или только музыки. Согласитесь, что вручную изменять полный список файлов — скучная и рутинная задача. Чтобы облегчить всем жизнь, командная строка поддерживает специальный символ *, с помощью которого можно составить так называемые регулярные выражения (порой их называют маской). Не стоит пугаться страшных слов, никаких сложных конструкций в варианте «/d+?[\.2345]?d+[\.]?mp3/$» вы не встретите. Далее мы приведем простые примеры, как вы можете получить списки всех ваших mp3 и jpg файлов, т.е. музыки и фотографий.
Получение всех mp3 файлов в папке и во всех вложенных папках из командной строки
Теперь команда выглядит следующим образом:
- dir /s *.mp3 > listmp3.txt
В файле «listmp3.txt» будет список всех ваших MP3-файлов.
Получение всех фотографий в формате JPEG в папке и во всех вложенных папках из командной строки
Теперь команда выглядит следующим образом:
- dir /s *.jpg > listjpg.txt
В файле «listjpg.txt» будет список всех ваших фотографий в формате JPEG.
Получение простого формата списка из командной строки
Вышеописанные команды сформируют списки, которые дополнительно будут включать информацию о файлах, а именно размер и дату создания. Но, такая информация далеко не всегда необходима. Порой нам нужен именно простой список файлов. Чтобы сформировать такой список, необходимо добавить в команду специальный параметр «/b». В итоге команда будет выглядеть следующим образом:
- dir /s /b *.jpg > listjpg.txt
Если вам интересно, то есть много других полезных команд. Чтобы узнать полный список команд, вам необходимо ввести команду «help». Конечно, краткое описание команды вряд ли поможет вам представить, как можно использовать команду. Поэтому существует специальный параметр «/?». Если вы его введете сразу после команды, то в окне консоли появится небольшой мануал по использованию команды и ее параметров.
Предупреждение: Если вы не сильно разбираетесь в том, что именно делает команда, то настоятельно вам рекомендуем сперва прочитать о ее применении, хотя бы в поисковике. Неаккуратное и неправильное использование команд может привести к неприятным последствиям. Конечно, можно использовать образы диска перед тестами, но, согласитесь, что это сильно накладно.
☕ Понравился обзор? Поделитесь с друзьями!
-
Как открыть командную строку Windows из любой папки
Технические советы -
Как войти в безопасный режим Windows 7 / XP / Vista?
Технические советы -
Командная строка Windows 7 (XP, Vista) — недооцененный инструмент
Технические советы -
Как открыть командную строку в Windows 7 / Vista от имени администратора?
Технические советы -
Как управлять избранным Internet Explorer?
Технические советы -
Как удалить файлы в Windows 7 из командной строки и поддерживать компьютер в чистоте
Технические советы
Добавить комментарий / отзыв
I tried searching for a command that could list all the file in a directory as well as subfolders using a command prompt command.
I have read the help for «dir» command but coudn’t find what I was looking for.
Please help me what command could get this.
asked Mar 5, 2013 at 1:55
3
The below post gives the solution for your scenario.
dir /s /b /o:gn
/S Displays files in specified directory and all subdirectories.
/B Uses bare format (no heading information or summary).
/O List by files in sorted order.
Then in :gn, g sorts by folders and then files, and n puts those files in alphabetical order.
Freerey
1702 silver badges14 bronze badges
answered Mar 5, 2013 at 2:13
5
If you want to list folders and files like graphical directory tree, you should use tree command.
tree /f
There are various options for display format or ordering.
Check example output.
Answering late. Hope it help someone.
answered Aug 24, 2016 at 13:49
Somnath MulukSomnath Muluk
55.2k38 gold badges216 silver badges226 bronze badges
6
An addition to the answer: when you do not want to list the folders, only the files in the subfolders, use /A-D switch like this:
dir ..\myfolder /b /s /A-D /o:gn>list.txt
micstr
5,1008 gold badges48 silver badges76 bronze badges
answered May 15, 2015 at 9:39
Laszlo LugosiLaszlo Lugosi
3,6891 gold badge21 silver badges17 bronze badges
4
If you simply need to get the basic snapshot of the files + folders. Follow these baby steps:
- Press Windows + R
- Press Enter
- Type
cmd
- Press Enter
- Type
dir -s
- Press Enter
answered Jun 21, 2017 at 12:52
Zameer AnsariZameer Ansari
29.2k24 gold badges140 silver badges221 bronze badges
2
An alternative to the above commands that is a little more bulletproof.
It can list all files irrespective of permissions or path length.
robocopy "C:\YourFolderPath" "C:\NULL" /E /L /NJH /NJS /FP /NS /NC /B /XJ
I have a slight issue with the use of C:\NULL which I have written about in my blog
https://theitronin.com/bulletproofdirectorylisting/
But nevertheless it’s the most robust command I know.
answered Aug 9, 2017 at 12:56
BrunoBruno
5,7721 gold badge26 silver badges43 bronze badges
The below post gives the solution for your scenario.
**dir /s /b /o:gn**
/S Displays files in specified directories and all subdirectories.
/B Uses bare format (no heading information or summary).
/O List by files in sorted order.
:gn, g sorts by folders and then files, and n puts those files in alphabetical order.
Just for all files except long path, write the following command:
**dir /b /o:gn**
For Tree:
write in your cmd
tree /f
answered Oct 24, 2022 at 13:23
При работе на компьютере иногда возникает необходимость получить полный список файлов и папок в каталоге или даже целом томе. Понадобиться он может для самых разных целей, например, для каталогизации, для сравнения, для использования в какой-то базе данных и так далее. В большинстве случаев приходится иметь дело с большим числом объектов, поэтому нечего и думать, чтобы составить такой список вручную.
Если создание списка файлов вручную представляется едва ли возможным, то какая есть тому альтернатива, какие программные инструменты лучше всего подойдут для этих целей? Решений существует несколько, все они очень просты и удобны. Получить список файлов и папок можно с помощью обычной командной строки, с помощью PowerShell, штатного Проводника, любого браузера, а также с помощью сторонних специализированных утилит.
Содержание статьи:
Получаем список файлов и папок в командной строке
Для чтения содержимого каталогов в старой доброй командной строке предусмотрена команда dir, её то как раз мы и будем использовать. Итак, запускаем консоль CMD, командой cd Буква диска:/путь (если нужно перейти в другой диск, добавляем после cd ключ /d) переходим в нужное расположение и выполняем эти две команды:
chcp 1251 dir /b /s > D:\filelist.tхt
Первая команда устанавливает кириллическую кодировку, вторая сохраняет список всех файлов, папок и вложенных в них объектов в текстовый лог на диске D.
Если нужно получить список только файлов (без вложенных каталогов), достаточно использовать только ключ /b.
Примечание: в Windows 8.1 и 7 для быстрого перехода в папку в командной строке, зажмите Shift, кликните ПКМ по папке и выберите в контекстном меню опцию «Открыть окно команд».
Список файлов и папок в PowerShell
В Windows 10 командная строка заменена консолью PowerShell, для получения списка файлов можете использовать её. Для примера выведем в файл содержимое папки Тест с её подкаталогами:
Get-Childitem -Path D:\Тест -Recurse | Out-File D:\filelist.tхt
А можно и проще. Зажав Shift, кликаем по папке ПКМ, выбираем в меню «Открыть PowerShell здесь».
И выполняем в открывшемся окне консоли команду Get-Childitem -Recurse | Out-File D:\filelist.tхt.
Необходимость использования параметра -Path с указанием пути в данном случае отпадает.
Получение списка файлов или папок в Проводнике
Этот способ позволяет получить список либо файлов, либо папок в конкретном расположении. Заходим в целевую папку, выделяем в ней все файлы или папки, зажимаем Shift, кликаем правой кнопкой мыши и выбираем в меню опцию «Копировать как путь».
Пути и имена выделенных объектов будут переданы в буфер обмена, откуда вы уже сможете перенести их в текстовый файл.
Получение списка файлов с помощью DirLister
Для получения хорошо структурированного списка объектов файловой системы можно воспользоваться бесплатной портативной утилитой DirLister, скачав её с официального сайта:
www.barrysoft.it/blog/software/dirlister
Запустив утилиту, укажите в разделе «Directory To Scan» путь к сканируемому каталогу или диску, в разделе «Output File» выберите расположение для сохранения списка.
Здесь же можно задать параметры сканирования — выбрать формат, указать, нужно ли включать в список вложенные директории и скрытые объекты, задать поиск по маске. После нажатия кнопки «Make List» список будет сохранён в выбранном расположении.
Используем для получения списка файлов браузер
На худой конец для создания списка файлов и папок на диске можно воспользоваться любым браузером. Перетаскиваем папку или диск на новую вкладку браузера и получаем список имеющихся в ней файлов и каталогов.
Рекурсивно пройтись по всем вложенным каталогам, правда, не получится да и для копирования путей и имён файлов и переноса их в отдельный файл придется использовать Ctrl + C и Ctrl + V.
Загрузка…
Программистам часто приходится работать в консоли — например, чтобы запустить тестирование проекта, закоммитить новый код на Github или отредактировать документ в vim. Всё это происходит так часто, что все основные действия с файлами становится быстрее и привычнее выполнять в консоли. Рассказываем и показываем основные команды, которые помогут ускорить работу в терминале под OS Windows.
Для начала нужно установить терминал или запустить командную строку, встроенную в Windows — для этого нажмите Win+R
и введите cmd
. Терминал часто встречается и прямо в редакторах кода, например, в Visual Studio Code.
Чтобы ввести команду в консоль, нужно напечатать её и нажать клавишу Enter
.
Содержимое текущей папки — dir
Выводит список файлов и папок в текущей папке.
C:\content-server>dir
Том в устройстве C имеет метку SYSTEM
Серийный номер тома: 2C89-ED9D
Содержимое папки C:\content-server
06.10.2020 00:41 <DIR> .
06.10.2020 00:37 <DIR> .circleci
16.07.2020 16:04 268 .editorconfig
16.07.2020 16:04 10 .eslintignore
16.07.2020 16:04 482 .eslintrc
06.10.2020 00:37 <DIR> .github
16.07.2020 16:04 77 .gitignore
06.10.2020 00:41 <DIR> assets
06.10.2020 00:41 <DIR> gulp
16.07.2020 16:10 379 gulpfile.js
16.07.2020 16:10 296 320 package-lock.json
16.07.2020 16:10 751 package.json
16.07.2020 16:04 509 README.md
Открыть файл
Чтобы открыть файл в текущей папке, введите его полное имя с расширением. Например, blog.txt или setup.exe.
Перейти в другую папку — cd
Команда cd
без аргументов выводит название текущей папки.
Перейти в папку внутри текущего каталога:
C:\content-server>cd assets
C:\content-server\assets>
Перейти на одну папку вверх:
C:\content-server\assets>cd ..
C:\content-server>
Перейти в папку на другом диске:
c:\content-server>cd /d d:/
d:\>
Чтобы просто изменить диск, введите c:
или d:
.
Создать папку — mkdir или md
Создаём пустую папку code
внутри папки html
:
d:\html>mkdir coded:\html>dir
Содержимое папки d:\html
03.11.2020 19:23 <DIR> .
03.11.2020 19:23 <DIR> ..
03.11.2020 19:25 <DIR> code
0 файлов 0 байт
3 папок 253 389 438 976 байт свободно
Создаём несколько пустых вложенных папок — для этого записываем их через косую черту:
d:\html>mkdir css\js
d:\html>dir
Том в устройстве D имеет метку DATA
Серийный номер тома: 0000-0000
Содержимое папки d:\html
03.11.2020 19:23 <DIR> .
03.11.2020 19:23 <DIR> ..
03.11.2020 19:25 <DIR> code
03.11.2020 19:29 <DIR> css
Создаётся папка css
, внутри которой находится папка js
. Чтобы проверить это, используем команду tree
. Она показывает дерево папок.
Удалить папку — rmdir или rd
Чтобы удалить конкретную папку в текущей, введите команду rmdir
:
d:\html\css>rmdir js
При этом удалить можно только пустую папку. Если попытаться удалить папку, в которой что-то есть, увидим ошибку:
d:\html\css>d:\html>rmdir css
Папка не пуста.
Чтобы удалить дерево папок, используйте ключ /s
. Тогда командная строка запросит подтверждение перед тем, как удалить всё.
d:\html>rmdir css /s
css, вы уверены [Y(да)/N(нет)]? y
Показать дерево папок — tree
В любом момент мы можем увидеть структуру папок. Для этого используется команда tree
.
d:\html>tree
Структура папок тома DATA
Серийный номер тома: 0000-0000
D:.
├───code
└───css
└───js
Если вы хотите посмотреть содержимое всего диска, введите tree
в корне нужного диска. Получится красивая анимация, а если файлов много, то ещё и немного медитативная.
Удаление файла — del или erase
Команда для удаления одного или нескольких файлов.
d:\html>del blog.txt
Переименование файла — ren или rename
Последовательно вводим ren
, старое и новое имя файла.
d:\html>dir
Содержимое папки d:\html
03.11.2020 19:23 <DIR> .
03.11.2020 19:23 <DIR> ..
03.11.2020 19:59 0 blag.txt
d:\html>ren blag.txt blog.txt
d:\html>dir
Содержимое папки d:\html
03.11.2020 19:23 <DIR> .
03.11.2020 19:23 <DIR> ..
03.11.2020 19:59 0 blog.txt
Команды одной строкой
Очистить консоль — cls
.
Информация о системе — systeminfo
.
d:\html>systeminfo
Имя узла: DESKTOP-6MHURG5
Название ОС: Майкрософт Windows 10 Pro
Версия ОС: 10.0.20246 Н/Д построение 20246
Изготовитель ОС: Microsoft Corporation
Параметры ОС: Изолированная рабочая станция
Сборка ОС: Multiprocessor Free
Информация о сетевых настройках — ipconfig
.
d:\html>ipconfig
Настройка протокола IP для Windows
Адаптер Ethernet Ethernet 2:
Состояние среды. . . . . . . . : Среда передачи недоступна.
DNS-суффикс подключения . . . . . :
Список запущенных процессов — tasklist
.
c:\>tasklist
Имя образа PID Имя сессии № сеанса Память
========================= ======== ================ =========== ============
System Idle Process 0 Services 0 8 КБ
System 4 Services 0 2 688 КБ
Secure System 72 Services 0 23 332 КБ
…
Справка по командам — help
Команда help
без аргументов выводит список всех возможных команд. help
вместе с именем команды выведет справку по этой команде.
d:\html>help tree
Графическое представление структуры папок или пути.
TREE [диск:][путь] [/F] [/A]
/F Вывод имён файлов в каждой папке.
/A Использовать символы ASCII вместо символов национальных алфавитов.
В этой статье приведены не все команды и не все их возможности, но вы всегда можете воспользоваться командой help
и узнать о том, что ещё может командная строка.
👉🏻 Больше статей о фронтенде и работе в айти в телеграм-канале.
Подписаться
Материалы по теме
- 10 горячих клавиш VS Code, которые ускорят вашу работу
- Полезные команды для работы с Git
- Полезные команды для работы с Node. js
«Доктайп» — журнал о фронтенде. Читайте, слушайте и учитесь с нами.
ТелеграмПодкастБесплатные учебники
Когда ко мне обратились с вопросом о том, как быстро вывести список файлов в текстовый файл, я понял, что ответа я не знаю. Хотя задача, как оказалось, достаточно часто встречающаяся. Это может потребоваться для передачи списка файлов специалисту (для решения какой-то проблемы), самостоятельного ведения журнала содержимого папок и других целей.
Решено было устранить пробел и подготовить инструкцию на эту тему, в которой будет показано, как получить список файлов (и вложенных папок) в папке Windows средствами командной строки, а также о том, как автоматизировать этот процесс, если задача возникает часто.
Получение текстового файла с содержимым папки в командной строке
Сначала о том, как сделать текстовый документ, содержащий список файлов в нужной папке, вручную.
- Запустите командную строку от имени администратора.
- Введите cd x:\folder\ где x:\folder\ — полный путь к папке, список файлов из которой нужно получить. Нажмите Enter.
- Введите команду dir /a /-p /o:gen >files.txt (где files.txt — текстовый файл, в котором будет сохранен список файлов). Нажмите Enter.
- Если использовать команду с параметром /b (dir /a /b /-p /o:gen >files.txt), то в полученном списке будет отсутствовать любая дополнительная информация о размерах файлов или дате создания — только список имен.
Готово. В результате будет создан текстовый файл, содержащий необходимую информацию. В команде выше, данный документ сохраняется в той же папке, список файлов из которой требуется получить. Можно также убрать вывод в текстовый файл, в этом случае список будет отображаться только в командной строке.
Кроме этого, для пользователей русскоязычной версии Windows следует учитывать то, что файл сохраняется в кодировке Windows 866, то есть в обычном блокноте вместо русских символов вы увидите иероглифы (но можно использовать альтернативный текстовый редактор для просмотра, например, Sublime Text).
Получаем список файлов с помощью Windows PowerShell
Вы также можете получить список файлов в папке используя команды Windows PowerShell. Если вы хотите сохранить список в файл, то запустите PowerShell от имени администратора, если просто просмотреть в окне — достаточно простого запуска.
Примеры команд:
- Get-Childitem -Path C:\Folder — вывод списка всех файлов и папок, находящихся в папке Folder на диске C в окне Powershell.
- Get-Childitem -Path C:\Folder | Out-File C:\Files.txt — создание текстового файла Files.txt со списком файлов в папке Folder.
- Добавление параметра -Recurse к первой описанной команде выводит в списке также содержимое всех вложенных папок.
- Параметры -File и -Directory позволяют получить список только файлов или только папок соответственно.
Выше перечислены далеко не все параметры Get-Childitem, но в рамках описываемой в этом руководстве задачи, думаю, их будет достаточно.
Утилита Microsoft Fix it для печати содержимого папки
На странице https://support.microsoft.com/ru-ru/kb/321379 присутствует утилита Microsoft Fix It, добавляющая в контекстное меню проводника пункт «Print Directory Listing», выводящий список файлов в папке на печать.
Несмотря на то, что программа предназначена только для Windows XP, Vista и Windows 7, она успешно сработала и в Windows 10, достаточно было запустить ее в режиме совместимости.
Дополнительно, на той же странице показан порядок ручного добавления команды вывода списка файлов в проводник, при этом вариант для Windows 7 подойдет и для Windows 8.1 и 10. А если вам не требуется вывод на печать, вы можете немного подправить предлагаемые Microsoft команды, удалив параметр /p в третьей строке и полностью убрав четвертую.