Программа название файлов в папке

В этом руководстве мы покажем вам три различных метода, с помощью которых вы можете скопировать все имена файлов в папке на вашем ПК с Windows. Если завалялась пара файлов, то эту задачу можно было бы выполнить вручную. Однако ситуация начинает ухудшаться, когда множество файлов выстраиваются в одну линию внутри каталога. Таким образом, вместо того, чтобы вручную копировать и вставлять каждое из имен файлов, вы можете автоматизировать весь этот процесс.

В связи с этим существуют три различных метода для одного и того же. Первый подход — через контекстное меню, затем идет командная строка, и, наконец, у вас есть редактор реестра. Ниже мы перечислили все эти три метода вместе с их преимуществами и недостатками. Итак, без лишних слов, давайте начнем с руководства по копированию всех имен файлов в папке на вашем ПК с Windows.

Скопируйте все имена файлов внутри папки через контекстное меню

Этот метод является самым простым в исполнении из трех, которые мы перечислили. Однако он также имеет тенденцию копировать расположение файлов вместе с их именем. Для некоторых это поражение двух целей одной стрелой, но для других это добавление ненужной информации, которую они никогда не запрашивали. Если вы принадлежите к прежнему домену, выполните следующие действия. С другой стороны, вторая группа пользователей может счесть два других метода более удобными, чем этот.

3 способа получить список файлов в папке

  1. Для начала перейдите в нужную папку.
  2. Затем используйте сочетание клавиш Ctrl+A, чтобы выбрать все файлы.
  3. После этого щелкните правой кнопкой мыши и выберите «Копировать как путь».
    Скопируйте все имена файлов внутри папки
  4. Теперь откройте любой текстовый редактор и нажмите Ctrl+V, чтобы вставить его.
    Скопируйте все имена файлов внутри папки
  5. Теперь вы получите имена всех файлов вместе с их местоположением.

Скопируйте все имена файлов внутри папки с помощью CMD

Этот метод делает именно то, что он говорит — копирует все имена файлов в папку на вашем ПК с Windows, не добавляя ненужных деталей, таких как местоположение файла и т. д. Вот как это попробовать:

Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)

  1. Перейдите в нужную папку, перейдите в ее адресную строку, введите CMD и нажмите Enter.
  2. Теперь выполните приведенную ниже команду в этом окне CMD (вы можете заменить «имя файла» любым именем по вашему выбору): dir /b >filename.txt Скопируйте все имена файлов внутри папки
  3. Теперь вы получите список всех имен файлов в текстовом файле, который будет сохранен внутри самой этой папки.
    Скопируйте все имена файлов внутри папки

Скопируйте все имена файлов внутри папки через редактор реестра

В этом методе мы добавим параметр «Копировать имена файлов в буфер обмена» в контекстное меню. Так чем же это отличается от первого метода? Ну, он скопирует только имя файла, а не его местоположение. Поскольку мы будем выполнять эту задачу, настраивая ключ реестра, рекомендуется заранее сделать резервную копию реестра.

  1. Перейдите в меню «Пуск», найдите «Редактор реестра» и откройте его.
  2. Затем скопируйте и вставьте указанное ниже место в адресную строку и нажмите Enter.HKEY_CLASSES_ROOTDirectoryshell. Скопируйте все имена файлов внутри папки
  3. Теперь щелкните правой кнопкой мыши папку оболочки и выберите «Создать»> «Ключ».
    Скопируйте все имена файлов внутри папки
  4. Назовите его список копий. Затем откройте его файл по умолчанию, представленный справа.
  5. Введите «Копировать имена файлов в буфер обмена» в поле «Значение» и нажмите «ОК», чтобы сохранить его.
    Скопируйте все имена файлов внутри папки
  6. Теперь щелкните правой кнопкой мыши список копирования и выберите «Создать» > «Ключ».
    Скопируйте все имена файлов внутри папки
  7. Назовите это командой. Затем откройте его файл по умолчанию с правой стороны.
  8. Введите приведенную ниже команду в поле «Значение данных» и нажмите «ОК», чтобы сохранить ее: cmd /c dir «%1» /a:-d /o:n | клип Скопируйте все имена файлов внутри папки
  9. Теперь щелкните правой кнопкой мыши папку, выберите Показать дополнительные параметры > Копировать имена файлов в буфер обмена.
  10. Все имена файлов будут скопированы в буфер обмена. Теперь вы можете вставить его в нужный файл с помощью Ctrl+V.
  11. [NOTE: To revert the change aka remove the Copy File Names to Clipboard option from the right-click menu, just delete the copylist key].
    Скопируйте все имена файлов внутри папки

На этом мы завершаем руководство о том, как скопировать все имена файлов в папку на вашем ПК с Windows. Мы перечислили три разных метода для одного и того же. Дайте нам знать в комментариях, с каким из них вы в конечном итоге решили согласиться. Кроме того, все ваши вопросы приветствуются в комментариях ниже.

Источник: vgev.ru

Как получить список файлов в Excel с помощью VBA

Очень распространенная задача — получить список файлов из папок и подпапок на лист Excel. Кто-то делает каталог файлов для какого-нибудь отчета. Кто-то хочет обработать файлы в своей программе. В данной статье рассмотрим несколько вариантов реализации данной задачи от самого простого, до расширенного с поиском файлов по вложенным каталогам.

Читайте также:
Программа для уведомление на отпуск

Специально для примера я создал папку, в которой разместил несколько файлов различных типов и две подпапки. Вот так они выглядят:

Папка с файлами и каталогами

Давайте рассмотрим несколько способов получения списка файлов.

Способ 1. Использование функции Dir

Этот способ хорош тем, что в данном случае мы не подключаем дополнительных библиотек, а пользуемся только предустановленным функционалом. Способ подойдет, если вам необходимо просто получить список файлов в папке и не нужно выводить их размер, определять тип файла, дату его создания/изменения и т.п. Тут мы получаем только наименования файлов и больше ничего.

Вот там код данной функции, который выводит на лист 1 перечень файлов.

‘************************************************************** ‘ Sub : ExampleOne ‘ Author : Алексей Желтов ‘ Date : 15.06.2020 ‘ Purpose : Вывод всех файлов в папке на лист ‘************************************************************** Sub ExampleOne() Dim Sh As Worksheet Dim Folder As String Dim FileName As String Dim i As Long Set Sh = ThisWorkbook.Sheets(1) Folder = Sh.Cells(3, 2) ‘ Проверка корректности введенных данных If PathExists(Folder) = False Then MsgBox «Указанной папки не существует», 16, «Ошибка исходных данных» Exit Sub End If ‘ Удаляем содержимое Sh.Rows(«7:» A7″).End(xlDown).Row).Delete Shift:=xlUp i = 7 FileName = Dir(Folder /», vbNormal) Do While FileName <> «» Sh.Cells(i, 1) = i — 6 Sh.Cells(i, 2) = FileName i = i + 1 ‘ переход к следующему файлу FileName = Dir Loop End Sub

Тут мы проверяем существование папки с помощью дополнительной функции. Опять таки не используем сторонних библиотек, а используем туже функцию Dir.

‘************************************************************** ‘ Function : PathExists ‘ Author : Алексей Желтов ‘ Date : 15.06.2020 ‘ Purpose : Возвращает ИСТИНА если путь pname существует ‘************************************************************** Private Function PathExists(pname As String) As Boolean On Error Resume Next If Dir(pname, vbDirectory) = «» Then PathExists = False Else PathExists = (GetAttr(pname) And vbDirectory) = vbDirectory End If End Function

Вот так выглядит результат работы функции. Программа записала список файлов на текущий лист Excel.

Вывод списка файлов на лист

Здесь мы не делали проверку на тип файла и вывели все файлы которые у нас были.

Если же необходимо отобрать только определенные типы файлов, например Excel файлы, то в нашем коде необходимо сделать дополнительную проверку:

Do While FileName <> «» If LCase(FileName) Like «*xls*» Then Sh.Cells(i, 1) = i — 6 Sh.Cells(i, 2) = FileName i = i + 1 End If ‘ переход к следующему файлу FileName = Dir Loop

Знак «*» означает любой набор символов. Таким образом, мы учли различные версии файлов Excel (xls, xlsx, xlsm).

Способ 2. Используем объект FileSystemObject

В данном случае мы будем не просто получать названия файлов, но также определять тип файла, получать его размер и дату создания. Для этого нам потребуется использовать объект FileSystemObject. Он предоставляет нам сведения о файловой системе компьютера.

Однако, чтобы начать его использовать придется подключить одну библиотеку. Не пугайтесь, она есть на всех компьютерах с Windows, потому скачивать ничего не придется. Чтобы подключить ее необходимо:

  1. Открыть пункт меню Tools и выбрать пункт References.
    Открыть пункт меню Tools и выбрать пункт References
  2. Выбрать ссылку на библиотеку Microsoft Scripting Runtime.
    Выбрать ссылку на библиотеку Microsoft Scripting Runtime.
  3. Нажать Ок.

Теперь перейдем к коду. Он немного упростился:

‘************************************************************** ‘ Sub : ExampleTwo ‘ Author : Алексей Желтов ‘ Date : 15.06.2020 ‘ Purpose : Вывод всех файлов в папке на лист ‘************************************************************** Sub ExampleTwo() Dim Sh As Worksheet Dim FSO As New FileSystemObject Dim FolderPath As String Dim MyFolder As Folder Dim iFile As File Dim i As Long Set Sh = ThisWorkbook.Sheets(2) FolderPath = Sh.Cells(3, 2) ‘ Проверка корректности введенных данных If Not FSO.FolderExists(FolderPath) Then MsgBox «Указанной папки не существует», 16, «Ошибка исходных данных» Exit Sub End If ‘ Удаляем содержимое Sh.Rows(«7:» A7″).End(xlDown).Row).Delete Shift:=xlUp Set MyFolder = FSO.GetFolder(FolderPath) i = 7 For Each iFile In MyFolder.Files Sh.Cells(i, 1) = i — 6 Sh.Cells(i, 2) = iFile.Name Sh.Cells(i, 3) = iFile.Type Sh.Cells(i, 4) = iFile.DateCreated Sh.Cells(i, 5) = iFile.Size i = i + 1 Next End Sub

Обратите внимание на переменные. Переменная FSO — это новый экземпляр объекта FileSystemObject. Тут мы его объявляем и сразу создаем. Директива New очень важна, многие тут допускают ошибку. Также создаем объекты MyFolder и iFile — это тоже объекты FileSystemObject

Dim Sh As Worksheet Dim FSO As New FileSystemObject ‘ объявляем и создаем новый экземпляр объекта Dim FolderPath As String Dim MyFolder As Folder Dim iFile As File Dim i As Long

Далее делаем проверку на существование папки. В данном случае нам не нужна дополнительная функция , мы пользуемся методом FolderExists объекта (класса) FileSystemObject.

Ну и остается аналогично перебрать все файлы в директории. Тут удобно использовать цикл For Each — Next.

For Each iFile In MyFolder.Files Sh.Cells(i, 1) = i — 6 Sh.Cells(i, 2) = iFile.Name ‘ название файла Sh.Cells(i, 3) = iFile.Type ‘ тип файла Sh.Cells(i, 4) = iFile.DateCreated ‘ дата создания Sh.Cells(i, 5) = iFile.Size ‘ размер i = i + 1 Next

Результат работы программы следующий:

Получаем список файлов с помощью FileSystemObject

Способ 3. Создаем функцию, которая возвращает файлы в папке и подпапках

Напоследок разберем функцию, которая будет возвращать нам все файлы в текущей папке и во вложенных папках. Вообще это универсальная функция, которая подойдет на все случаи жизни. Смело копируйте ее в свой проект!

Читайте также:
Как называется программа для телевизора Самсунг

Итак перейдем к коду:

‘************************************************************** ‘ Function : GetFiles ‘ Author : Алексей Желтов ‘ Date : 15.06.2020 ‘ Purpose : Получение файлов из папок и подпапок ‘************************************************************** Public Function GetFiles(ByVal Path As String, Optional ByVal Filter As String = «*», Optional ByVal Nesting As Long = 100) As Collection Dim MainFolder As Folder Dim iFolder As Folder Dim iFile As File Dim FSO As New FileSystemObject Dim MainColl As New Collection Dim iColl As Collection Dim spltFilter() As String Dim i As Long Set MainFolder = FSO.GetFolder(Path) If MainFolder Is Nothing Then Exit Function spltFilter = Split(Filter, «,») ‘ Перебираем файлы For Each iFile In MainFolder.Files ‘ Игнорируем временные файлы If InStr(1, iFile.Name, «~») = 0 Then ‘ Проверяем фильтры файлов For i = 0 To UBound(spltFilter) If LCase(iFile.Name) Like «*» 0 Then For Each iFolder In MainFolder.SubFolders ‘ рекурсивный вызов функции Set iColl = GetFiles(iFolder.Path, Filter, Nesting — 1) ‘добавляем файлы из вложенных папок For i = 1 To iColl.Count MainColl.Add iColl(i), iColl(i).Path Next Next End If Set GetFiles = MainColl End Function

Разберем основные моменты этой функции. На вход она принимает один обязательный аргумент — это путь к папке Path. Также может принимать два необязательных параметра:

  • Filter — перечисление списка файлов, которые мы хотим получить. Перечислять необходимо через запятую, например «doc, xls*». Вы можете использовать символ «*» чтобы включить сравнение по шаблону. По умолчанию фильтр отсутствует и возвращаются все типы файлов.
  • Nesting — вложенность. Это максимальное число вложенных папок в которые «проваливается» алгоритм. По умолчанию равно 100.

В целом по алгоритму комментарии лишние, все должно быть понятно. Основной момент хочу обратить на строку 38.

For Each iFolder In MainFolder.SubFolders ‘ рекурсивный вызов функции Set iColl = GetFiles(iFolder.Path, Filter, Nesting — 1) ‘добавляем файлы из вложенных папок For i = 1 To iColl.Count MainColl.Add iColl(i), iColl(i).Path Next Next

Тут мы рекурсивно вызываем эту же функцию. Т.е. получается что функция вызывает саму себя. И это происходит до тех пор пока либо не останется вложенных папок, либо не будет достигнут желаемый уровень вложенности.

Теперь когда наша функция готова, просто используем ее где нам требуется вот так:

‘************************************************************** ‘ Sub : ExampleThree ‘ Author : Алексей Желтов ‘ Date : 15.06.2020 ‘ Purpose : Вывод всех файлов в папке на лист ‘************************************************************** Sub ExampleThree() Dim Sh As Worksheet Dim FolderPath As String Dim iFile As File Dim i As Long Dim Coll As Collection Dim FSO As New FileSystemObject Set Sh = ThisWorkbook.Sheets(3) FolderPath = Sh.Cells(3, 2) Set Coll = GetFiles(FolderPath) For i = 1 To Coll.Count Set iFile = Coll(i) Sh.Cells(i + 6, 1) = i Sh.Cells(i + 6, 2) = iFile.Name Sh.Cells(i + 6, 3) = FSO.GetFolder(iFile.ParentFolder).Name Sh.Cells(i + 6, 4) = iFile.Type Sh.Cells(i + 6, 5) = iFile.DateCreated Sh.Cells(i + 6, 6) = iFile.Size Next End Sub

Функция нам возвращает коллекцию файлов в папке и подпапках. Вот так:

Список файлов в папке и вложенных папках

Пример файла можете скачать по кнопке ниже и использовать в своей работе. Оставляйте комментарии, буду рад на них ответить.

Источник: micro-solution.ru

5 способов получить список файлов в папке

список файлов в папке

У некоторых пользователей, при работе на компьютере, возникает необходимость получить список файлов в папке. Такой список может быть нужен для разных целей: для каталогизации файлов в папках, для сравнения содержимого в папках, для того, чтобы составить список фильмов, музыкальных композиций, электронных книг и т.п.

Во многих случаях, количество файлов может быть очень большим, поэтому вручную составить полный список находящихся в папке файлов будет проблематично. Предположим, в папке на вашем компьютере хранится электронная библиотека, или вы имеете большое собрание фильмов. Даже увлеченному человеку запомнить все содержимое папки или диска будет нереально.

Выходом из этой ситуации будет создание списка файлов, находящихся в данной папке, а потом сохранение этого списка в текстовый файл. В дальнейшем, полученный список можно будет отредактировать так, как это будет необходимо. Например, у меня на внешних жестких дисках, каждый из которых имеет размер в несколько терабайт, хранится большая коллекция фильмов, которые я собирал несколько лет. Мне, конечно, тяжело запомнить все названия фильмов, которые хранятся на жестких дисках.

Встречая в интернете какой-либо фильм, имея у себя список файлов в папке, я могу легко проверить, есть ли такой фильм у меня в коллекции, или я встретил новый фильм. Поэтому я приступил к поиску решения данного вопроса. В итоге, я нашел несколько простых вариантов решения этой проблемы. Создать список файлов в папке можно разными способами: при помощи командной строки, при помощи файла, который имеет расширение «.bat», при помощи специальных программ, сохранить список в браузере.

Сохранение списка файлов с помощью командной строки

Вначале вам необходимо будет перейти к нужной папке, или диску, если вы хотите получить список файлов, которые находятся на диске. После открытия папки или диска, удерживая на клавиатуре кнопку «Shift», кликните правой кнопкой мыши внутри этой папки. В открывшемся контекстном меню выберите пункт «Открыть окно команд».

открыть окно командПосле этого откроется окно консоли, в которой уже будет указан путь к нужной директории (в вашем случае, будет к той папке, которую вы откроете). В этом примере, это папка «Программы» на Рабочем столе моего компьютера. В этой папке находятся другие папки, в которых находятся ярлыки программ. командная строка

Далее нужно будет ввести одну из этих команд:

Читайте также:
Как узнать разработчика программы

dir /b>filelist.txt dir /s>filelist.txt

  • /b — обозначает, что будут сохранены только имена файлов.
  • /s — обозначает, что дополнительно в список будут включены все файлы и подкаталоги (подпапки), которые находятся в этой папке.

ввод команды

Затем на клавиатуре нажмите на кнопку «Enter».

После этого вы можете открыть папку и увидеть, что в папке находится текстовый файл «filelist». Теперь можете открыть этот файл с помощью Блокнота.

Если в данной папке некоторые файлы имели русские имена, то вместо имен этих файлов, вы увидите непонятные символы (крякозябры). Дело в том, что программа Блокнот не понимает кодировку MS-DOS.

Поэтому, открыть созданный файл, можно будет с помощью программы Word. Предполагаю, что у большинства пользователей, на компьютере установлена данная программа.

Кликните по текстовому файлу правой кнопкой мыши, а затем в контекстном меню выберите пункт «Открыть с помощью». Выберите для открытия файла программу Microsoft Office Word. В окне программы Word будет открыто окно «Преобразование текста», в котором нужно будет выбрать кодировку MS-DOS, которая позволит прочитать этот документ.

На образце вы увидите правильное отображение текста.

преобразование файла

После нажатия на кнопку «ОК», данный текст будет открыт в программе Word. Вы можете провести редактирование документа, а потом сохранить его на компьютере в нужном формате, в том числе в формате «TXT». Проблем с кодировкой после сохранения файла уже не будет.

Получение списка файлов в папке с помощью bat файла

Один из самых доступных и простых способов получения списка файлов в папке – использование для этого специального bat файла. Существует несколько вариантов создания файла с расширением «.bat», с разным кодом.
Для создания bat файла вам нужно будет открыть Блокнот, а затем вставить туда этот код:

chcp 1251 echo %date% %time% >filelist.txt dir /b /d >>filelist.txt

Сохраните этот файл, имя файлу можете дать любое, самому файлу нужно дать расширение «BAT». Параметры сохранения файла в Блокноте будут выглядеть примерно так:

  • Имя файла: filelist.bat
  • Тип файла: Все файлы

После этого нажмите на кнопку «Сохранить».

Далее помещаете созданный файл в ту папку, из которой вы хотите получить, список находящихся там файлов. После этого, запустите файл с расширением «.bat». В данной папке будет создан файл «filelist» в формате «.txt», в котором будет находиться список файлов.

Существует несколько вариантов содержимого файла с расширением «.bat». При использовании этого метода, проблем с кодировкой не возникнет.

Программа DirLister для получения списка файлов

Вы можете создать список файлов расположенных в папке, при помощи бесплатной программы DirLister. Эта крошечная программа не требует установки на компьютер. После загрузки программы на свой компьютер, распакуйте архив с программой.

Для запуска программы, откройте папку с программой, а потом кликните по приложению DirLister.

В окне программы DirLister, в разделе «Directory To Scan», при помощи кнопки «Open», вам нужно будет выбрать папку для сканирования.

В разделе «Output File», при помощи кнопки «Save As…», вам необходимо будет выбрать место для сохранения списка файлов.

Вы можете уточнить критерии поиска файлов по маске «*.*», выбрав нужное имя или тип файла («TXT», «Excel», «HTML» и т.д.). После выбора необходимых настроек, нажмите на кнопку «Make List».

программа dirlister

После завершения сканирования в левом нижнем углу программы будет выведена информация об успешном завершении создания списка файлов: «All file processed correctly».

Программа DirLister выводит не только список файлов в данной папке, но и дает полную информацию о вложенных в эту папку файлах и папках, в том числе о размере файлов.

Получаем список файлов в Total Commander

Получить список файлов в папке можно при помощи популярного файлового менеджера Total Commander. Для этого, открываете в окне программы нужную папку.

В меню «Выделение», сначала выбираете пункт «Выделить всё». После того, как все файлы были выделены, в этом же меню выбираете пункт «Копировать имена в буфер».

программа total commander

Потом открываете Блокнот или другой текстовый редактор, и вставляете туда список файлов из буфера обмена.

Вы можете в меню «Выделение» выбрать пункт «Сохранить выделение в файл…». В этом случае, вам нужно будет дать имя файлу, а затем сохранить его в формате «TXT».

Сохранение списка файлов в папке в браузере

Получить список файлов в папке можно при помощи браузера. Сначала откройте браузер, а затем перетащите папку в окно браузера. Список файлов будет открыт в окне браузера. Между содержимым можно будет перемещаться как в Проводнике.

Далее можете просто скопировать список файлов в текстовый редактор, сохранить список в HTML файл, или сохранить в PDF при помощи виртуального принтера.

сохранение списка файлов в браузере

При помощи таких достаточно простых способов, вы можете легко создать список файлов, которые находятся в конкретной папке или на диске вашего компьютера. Вы можете использовать наиболее удобный для себя способ сохранения списка файлов.

3 способа получить список файлов в папке


С уважением, Василий Прохоров

Рубрики: Работа с компьютером
программы

Метки: список файлов компьютер программы

Источник: www.liveinternet.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru