При работе на компьютере иногда возникает необходимость получить полный список файлов и папок в каталоге или даже целом томе. Понадобиться он может для самых разных целей, например, для каталогизации, для сравнения, для использования в какой-то базе данных и так далее. В большинстве случаев приходится иметь дело с большим числом объектов, поэтому нечего и думать, чтобы составить такой список вручную.
Если создание списка файлов вручную представляется едва ли возможным, то какая есть тому альтернатива, какие программные инструменты лучше всего подойдут для этих целей? Решений существует несколько, все они очень просты и удобны. Получить список файлов и папок можно с помощью обычной командной строки, с помощью 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
«Доктайп» — журнал о фронтенде. Читайте, слушайте и учитесь с нами.
ТелеграмПодкастБесплатные учебники
-
Категория:
Технические советы -
– Автор:
Игорь (Администратор)
- Зачем может понадобиться список файлов из командной строки
- Выводим список файлов папки и ее подпапках на экран командной строки
- Создаем текстовый файл со списком файлов в командной строке
- Создаем текстовый файл со списком файлов определенного расширения в командной строке
- Получение всех 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 из командной строки и поддерживать компьютер в чистоте
Технические советы
Добавить комментарий / отзыв
In this tutorial, you will learn how to list files, folders, and subfolders using Windows CMD commands and PowerShell.
I’ll also demonstrate using the NTFS Permissions Tool, which is a graphical program that displays the permissions on folders and subfolders.
In this article
- List Files and Folders using the DIR Command
- Display Folder Structure using TREE Command
- Powershell List Folders and Subfolders
- Get Folder and Subfolder NTFS Permissions
Check it out.
List Files and folders using the DIR Command
The dir command is built into all versions of Windows. It is an easy to use command to list files, folders, and subfolders from the Windows command prompt.
Let’s look at some examples.
Example 1. List files and folders in the current directory
To list the files and folders in the current directory, open the Windows command prompt, enter dir and press enter. The dir command by default does not display subfolders.
dir
In this example, my current location is c:\it, so when I run the dir command it will list everything in this folder.
I have put the command output into colored boxes to explain what each column means.
- Red = This column is the last modified date of the file or folder
- Green = Indicates if the item is a folder, folders are labeled with DIR
- Purple = The size of the file
- Yellow = Name of the file or folder.
Example 2. List subfolders
Use the /s option to include subfolders.
dir /s
I ran the command from the c:\it location and it lists all subfolders and files from this directory. I’ve highlighted some of the subfolders in the screenshot below.
Example 3. Specify a directory path
To list files and folders from a specific directory enter the complete directory path.
dir /s c:\it
For example, if my current location is the root of c: and I type dir /s c:\it the command will display the items from the c:\it directory.
Example 4. Export list of files and folders
To export the screen output use the command below. You can name the file whatever you want, in this example, I named the file files2.txt
dir > files2.txt
The file will be saved to the current directory.
Pretty easy right?
I covered some of the most basic dir command options. To see a full list of options type dir /? and press enter.
To learn more about the dir command check out the Microsoft dir documentation page.
Display Folder Structure using TREE Command
The tree command is another built-in Windows command. This command will display the contents of a directory in a tree structure. This can be useful to give you an overview of the folder layout.
You must specify a path or this command will start at the root of c
Example 1. List all folders and subfolders using TREE
To list all folders and subfolders enter the tree command and the path.
tree c:\it\toolkit
Example 2. List all folders and files using TREE
To include files with the tree command use the /f option.
tree c:\it\toolkit /f
In my experience, I never use the tree command. I find it more useful when a command provides more details like modified dates, permissions, ownership, and so on. If you just need to see the files and folders with no other details then this is a great option.
Powershell List Folders and Subfolders
You can use the Get-Childitem PowerShell cmdlet to list files and folders. The Get-Childitem cmdlet is similar to dir but much more Powerful.
Let’s look at some examples
Example 1. List files and folders using Get-Childitem
This example gets the folder contents from a specific directory
Get-ChildItem -path c:\it\toolkit
By default, the Get-ChildItem cmdlet lists the mode, LastWriteTime, Length, and Name of the filer or folder.
The mode can be the following:
- l = Link
- d – directory
- a = archive
- r = read-only
- h = hidden
- s = system
Example 2. Get subfolders using Get-ChildItem
Use the -Recurse option to get subfolders and files.
Get-ChildItem -path c:\it\toolkit -Recurse
Example 3. Get items using the Depth parameter
You can use the -Depth parameter to control how many subfolders deep to include in the list.
Get-ChildItem -Path C:\it -Depth 2
Example 4. PowerShell List only specific file types
In this example, I will list only files that end in a .msi file extension. This will search all subfolders in the directory path.
get-childitem -path c:\it -include *.msi -recurse
Example 5. PowerShell List only folder or files name
The -Name parameter will only return the file or folder name.
Get-ChildItem -path c:\it\toolkit -Name
Example 6. PowerShell List all Files and Folder Details
To display all details of a file or folder use the fl option.
Get-ChildItem -path c:\it\toolkit | FL
You can see below this command will display additional details, if there are any.
Example 7. PowerShell count files and folders
To get a count of the files and folders use the measure-object option.
Get-ChildItem -path c:\it\toolkit | Measure-Object
Example 8. Powershell Get Folder Size
You can also use the measure-object option to get the folder size.
Get-ChildItem -path c:\it\toolkit | Measure-Object -Property Length -sum
As you can see using PowerShell there are a lot of options when it comes to getting files and folders, you can create some really powerful reports.
Check out the Get-ChildItem documentation page to learn more.
Get Folder and Subfolder NTFS Permissions
If you need a report of folders and subfolders that includes who has permission to what, then check out the NTFS Permissions Reporting Tool below.
Example 1. List NTFS Permissions on Shared Folder
You can try this tool for FREE, click here to download it.
In this example, I’ll get the permissions on the shared folder \\srv-vm1\share
The NTFS Report will display the following:
- DirectoryName = Path of the folder
- Account = Account listed on the folder (this can be a user or group)
- DirectoryOwner = Owner listed on the folder
- DirectoryRights = Permissions the user or group has to the folder
- Type = Allow or Deny
- AppliesTo = What the permissions applies to
- IsInherited = Are the permissions inherited from a parent folder
Example 2. List Folder Permissions on Local Folder
If you want to check the permissions on a local folder click the browse button or enter the folder path.
Which Command Will You Use?
In this article, I showed you three different commands to get files, folders, and subfolders.
I use the dir command for basic stuff and use Get-Childitem for more advanced searches.
Which command did you find most useful? Let me know in the comments below.
Related Articles
- PowerShell get NTFS Permissions
- Windows list open files
- 10 Windows File Share Best Practices
В оболочке cmd.exe список файлов и каталогов формируется с помощью команды – dir, которая имеет множество ключей, позволяющих выводить только файлы с определенными атрибутами, обрабатывать вложенные подкаталоги, сортировать список по различным полям. Если выполнить эту команду без параметров, то будет выведено содержимое текущего каталога.
В пути , который указывается для команды dir, можно применять подстановочные знаки. Например следующая команда выведет все файлы с расширением log из каталога c:\windows
-Exclude
– параметр позволяет задать маску файлов, которые не будут обрабатываться командой dir.
Как это работает нужно перейти в оболочку PowerShell.
Следующая команда выведет все файлы с расширением log из каталога c:\windows, кроме тех, чье имя начинается на букву d:
dir c:\windows\*.log -Exclude d*.log
-Name
– параметр позволяет выводить на экран только имена файлов таким образом , этот параметр является аналогом ключа /b команды dir из cmd.exe, например:
dir c:\windows\*.log -Name
-Force
– параметр показывает скрытые файлы.
В оболочке cmd.exe подобную фильтрацию в команде dir
позволяет выполнить ключ /a
Сформировать список, состоящий только из подкаталогов или только из файлов.
dir 'c:\program files' | Where-Object {$_.PSIsContainer}
В оболочке cmd.exe подобную фильтрацию в команде dir
позволяет выполнить ключ /a
задающий ограничения на атрибуты элементов, на которые действует команда:
За сортировку возвращаемого списка файлов и каталогов в команде dir /o:-d
выдаст список файлов в текущем каталоге, упорядоченный по времени последнего обращения к ним.
В PowerShell сортировку списка можно выполнить с помощью команды Sort-Object
, например:
dir | Sort-Object -Descending LastWriteTime