Разное

Имена файлов в папке в текстовый файл: Как получить список файлов в папке

25.11.2020

Содержание

Скопировать список файлов в папке

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

Вы проводите сортировку ваших документов? Совет по копированию имен файлов в несколько нажатий!

Дорогие друзья, то чему я хочу научить вас сегодня выходит за рамки простого удобства и достигает высот соизмеримых только что с перелетом в самолетах, каких-нибудь дорогих арабских компаний (я про самолеты в которых отдельные кабины, душ, все удобства, просто мечта). Но в отличии от дорогостоящего перелета, мои удобные советы, абсолютно бесплатны. Так вот, представим что у вас есть папка, в ней находится огромное количество файлов, а вам необходимо организовать электронный список этих файлов, ужас, вбивать в ручную? Я так не думаю, я серьезно этого делать не собираюсь. Совет о том, как скопировать поименный список файлов из директории. Начнем.

Нам придется править реестр. Мы сделаем несколько простых манипуляций, после которых у нас появится дополнительный пункт меню по нажатию правой клавиши.

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

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

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

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

Итак, чтобы открыть редактор реестра нам необходимо сделать следующие шаги:

  1. Нажать сочетание клавиш Win + R (Win — клавиша Windows, находится между Ctrl и Alt в нижней левой части стандартной QWERTY клавиатуры)

  2. В появившемся окне набрать фразу regedit.

После того как откроется редактор реестра нам необходимо проследовать по пути, который я указал ниже:

HKEY_CLASSES_ROOT\Directory\shell

Редактируем реестр Windows

Важно. Этот этап действительно очень важный для понимания. Это общий принцип для всего, что создается в реестре.

Нам необходимо добавить папку listcopy в папке Shell. Для этого мы выделяем папку Shell (один раз щелкаем по ней левой клавишей мыши), а после того как выбрали эту папку нажимаем по ней правой клавишей мыши, чтобы выпало контекстное меню. Когда появится контекстное меню, необходимо выбрать пункт Создать/Раздел.В название нового раздела указываем “listcopy”.

Редактируем реестр Windows Редактируем реестр Windows

Дальше мы нажимаем listcopy, обращаем внимание на правую часть редактора реестра. Там должен быть файл с названием “По умолчанию”. Щелкаем дважды левой клавишей мыши на этот файл и выставляем значение “Скопировать в список названия файлов”.

Редактируем реестр Windows

После того как мы поменяем значение в файле, нам необходимо один раз нажать по разделу listcopy, чтобы выделить его. Теперь создаем новый раздел в listcopy, правой клавишей, как мы это делали с разделом Shell, только новый раздел у нас будет называться command (здесь будет находится код команды). Также, по аналогии с директорией listcopy мы меняем файл по умолчанию, только теперь в значение файла выставляем следующие параметры:

cmd /c dir "%1" /b /a:-d /o:n | clip

Файл с командой копирования списка названий

После того как мы внесли все изменения должны быть следующие директории и измененные в них файлы:

  1. Раздел listcopyпо адресу HKEY_CLASSES_ROOT\Directory\shell

  2. В разделе listcopyизмененный файл “По умолчанию” со значением “Скопировать в список названия файлов”

  3. Раздел commandпо адресу HKEY_CLASSES_ROOT\Directory\shell\listcopy

  4. В разделе commandизмененный файл “По умолчанию” со значением “cmd /c dir «%1» /b /a:-d /o:n | clip” (без кавычек).

Итак, для чего мы все это делали. Давайте проверять, что у нас получилось, как все это работает. В идеале у нас должен получится дополнительный пункт контекстного меню, который по нажатии копирует список названий файлов внутри директории (папки). Находим директорию — нажимаем правую клавишу мыши и видим в списке наш пункт “Скопировать в список названия файлов” — нажимаем — открываем блокнот и вставляем названия сочетанием клавиш Ctrl + V.

Файл с командой копирования списка названий

Разве это не прекрасно? Думаю многим из вас пригодится этот совет, как скопировать полный список названия файлов в директории Windows 10

. Удачи и до новых встреч.

Файл с командой копирования списка названий

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

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

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

Содержание статьи

Командная строка

Первый рассматриваемый сегодня способ — при помощи командной строки. Для этого проделайте следующее:

  1. Откройте Проводник, зайдите в папку, список файлов в которой требуется получить, зажмите клавишу SHIFT, нажмите на любом свободном месте правой кнопкой мыши и выберите пункт «Открыть окно команд»Как получить список файлов в папке
  2. Чтобы получить список файлов можно использовать две команды — dir /b, выводящую файлы и папки исключительно данной директории и dir /s, выполняющую команду рекурсивноКак получить список файлов в папке
    При этом рекурсивный вывод в консоль, в случае если файлов в папке много, может быть неудобен для восприятия так как требуется много раз прокручивать экранКак получить список файлов в папке
  3. Лучший выход в такой ситуации — сохранить вывод консоли в текстовый файл. Для того введите последовательно команды chcp 1251 и dir /s>file.txt Как получить список файлов в папке
  4. После этого в оцениваемой папке появится текстовый файл, который можно прочитать при помощи обычного БлокнотаКак получить список файлов в папке

Total Commander

Следующий способ оценки количества файлов в папке — популярный файловый менеджер Total Commander. Для того чтобы им воспользоваться, проделайте следующее:

  1. Скачайте программу по ссылке
  2. Запустите скачанный файл. Выберите язык установки, после нажмите кнопку «Далее» Как получить список файлов в папке
  3. Ответьте на вопрос, нужны ли вам остальные языки Как получить список файлов в папке
  4. Укажите каталог для установки Как получить список файлов в папке
  5. Укажите требуется ли создание ярлыков Как получить список файлов в папке
  6. После завершения установки запустите программу. Бесплатная версия при каждом запуске требует нажатия одной из трех кнопок внизу окна Как получить список файлов в папке
  7. В любой из двух панелей файл-менеджера перейдите к папке, файлы в которой необходимо подсчитать Как получить список файлов в папке
  8. В меню «Выделение» требуется нажать на команду «Выделить все» Как получить список файлов в папке
  9. Выделенные файлы и папки будут обозначены красным цветом. В меню «Выделение» выберите «Копировать имена файлов в буфер» Как получить список файлов в папке
  10. После этого можно открыть блокнот и вставить имена файлов в текстовый редактор Как получить список файлов в папке

DirLister

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

  1. Скачайте программу по ссылке и запустите скачанный файл
  2. В поле «Directory to scan» нажмите кнопку «Open» и выберите директорию, содержимое которой требуется проанализировать Как получить список файлов в папке
  3. В поле «Output file» нажмите на кнопку «Save as» и выберите местоположение файла, в который требуется записать список содержимого папки Как получить список файлов в папке
  4. В разделе «Options» можно выбрать, включать ли в вывод путь к файлам («Include file path»), нужен ли рекурсивный вывод («include subfolders» и «Include directoryes») и требуется ли включать скрытые файлы («Inc. Hidden Files») Как получить список файлов в папке
  5. Блок «File Type» позволяет выбрать формат файла вывода. Доступны обычный текстовый файл (Plain Text), текстовый файл с разделителем-табулятором (TAB Separated), текст с разделителем-пробелом (SPACE Sep.), таблица Excel а также формат HTML Как получить список файлов в папке
  6. После выбора всех параметров нажмите на кнопку «Make List» Как получить список файлов в папке

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

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

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

  • перечислить в приложении к договору на проведение тренинга список файлов из раздаточных материалов для особо щепетильных юристов в некоторых компаниях
  • создать список файлов для ТЗ проекта
  • сравнить содержимое папок (оригинал и бэкап, например)

Для реализации подобной задачи можно использовать несколько способов.

Способ 1. Скелет из шкафа — функция ФАЙЛЫ

Этот способ использует древнюю функцию ФАЙЛЫ (FILES), оставшуюся в Microsoft Excel с далеких девяностых. Вы не найдете эту функцию в общем списке функций, но для совместимости, она всё ещё остаётся внутри движка Excel, и мы вполне можем её использовать.

Механизм таков:

1. В любую ячейку листа (например, в А1) введём путь к папке, список файлов из которой мы хотим получить.

Путь к папке

Обратите внимание, что путь должен оканчиваться шаблоном со звездочками:

  • *.* — любые файлы
  • *.xlsx — книги Excel (только с расширением xlsx)
  • *.xl* — любые файлы Excel
  • *отчет* — файлы, содержащие слово отчет в названии

и т.д.

2. Создадим именованный диапазон с помощью вкладки Формулы — далее кнопка Диспетчер имен — Создать (Formulas — Names Manger — Create). В открывшемся окне введем любое имя без пробелов (например Мои_файлы) и в поле диапазона выражение:

=ФАЙЛЫ(Лист1!$A$1)

Создаем именованный диапазон с функцией ФАЙЛЫ

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

3. Чтобы извлечь имена отдельных файлов из созданной переменной, используем функцию ИНДЕКС (INDEX), которая в Excel вытаскивает данные из массива по их номеру:

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

Если лениво делать отдельный столбец с нумерацией, то можно воспользоваться костылем в виде функции СТРОКИ (ROWS), которая будет подсчитывать количество заполненных строк с начала списка автоматически:

=ИНДЕКС(Мои_файлы; ЧСТРОК($B$3:B3))

Ну, и скрыть ошибки #ССЫЛКА! в конце списка (если вы протягиваете формулу с запасом) можно стандартной функцией ЕСЛИОШИБКА (IFERROR):

=ЕСЛИОШИБКА(ИНДЕКС(Мои_файлы; ЧСТРОК($B$3:B3)); «»)

Важное примечание: формально функция ФАЙЛЫ относится к макро-функциям, поэтому необходимо будет сохранить ваш файл в формате с поддержкой макросов (xlsm или xlsb).

Способ 2. Готовый макрос для ленивых

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

Для добавления макроса в вашу книгу нажмите сочетание клавиш Alt+F11, или кнопку Visual Basic на вкладке Разработчик (Developer), в открывшемся окне редактора Visual Basic вставьте новый модуль через меню Insert — Module и скопируйте туда текст этого макроса:

Sub FileList()
    Dim V As String
    Dim BrowseFolder As String
    
    'открываем диалоговое окно выбора папки
    With Application.FileDialog(msoFileDialogFolderPicker)
        .Title = "Выберите папку или диск"
        .Show
        On Error Resume Next
        Err.Clear
        V = .SelectedItems(1)
        If Err.Number <> 0 Then
            MsgBox "Вы ничего не выбрали!"
            Exit Sub
        End If
    End With
    BrowseFolder = CStr(V)
    
    'добавляем лист и выводим на него шапку таблицы
    ActiveWorkbook.Sheets.Add
    With Range("A1:E1")
        .Font.Bold = True
        .Font.Size = 12
    End With
    Range("A1").Value = "Имя файла"
    Range("B1").Value = "Путь"
    Range("C1").Value = "Размер"
    Range("D1").Value = "Дата создания"
    Range("E1").Value = "Дата изменения"
    
    'вызываем процедуру вывода списка файлов
    'измените True на False, если не нужно выводить файлы из вложенных папок
    ListFilesInFolder BrowseFolder, True
End Sub


Private Sub ListFilesInFolder(ByVal SourceFolderName As String, ByVal IncludeSubfolders As Boolean)

    Dim FSO As Object
    Dim SourceFolder As Object
    Dim SubFolder As Object
    Dim FileItem As Object
    Dim r As Long

    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set SourceFolder = FSO.getfolder(SourceFolderName)

    r = Range("A65536").End(xlUp).Row + 1   'находим первую пустую строку
    'выводим данные по файлу
    For Each FileItem In SourceFolder.Files
        Cells(r, 1).Formula = FileItem.Name
        Cells(r, 2).Formula = FileItem.Path
        Cells(r, 3).Formula = FileItem.Size
        Cells(r, 4).Formula = FileItem.DateCreated
        Cells(r, 5).Formula = FileItem.DateLastModified
        r = r + 1
        X = SourceFolder.Path
    Next FileItem
    
    'вызываем процедуру повторно для каждой вложенной папки
    If IncludeSubfolders Then
        For Each SubFolder In SourceFolder.SubFolders
            ListFilesInFolder SubFolder.Path, True
        Next SubFolder
    End If

    Columns("A:E").AutoFit

    Set FileItem = Nothing
    Set SourceFolder = Nothing
    Set FSO = Nothing

End Sub

Для запуска макроса нажмите сочетание клавиш Alt+F8,или кнопку Макросы (Macros) на вкладке Разработчик (Developer), выберите наш макрос FileList и нажмите кнопку Выполнить (Run). В диалоговом окне выберите любую папку или диск и — вуаля!

Если захотите, чтобы вместо пути к файлу в столбце B выводилась живая гиперссылка, то замените 52-ю строку

Cells(r, 2).Formula = FileItem.Path

на

Cells(r, 2).Formula = «=HYPERLINK(«»» & FileItem.Path & «»»)»

Способ 3. Мощь и красота — надстройка Power Query

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

Если у вас Excel 2016 или новее, то Power Query уже встроена в Excel по умолчанию, поэтому просто на вкладке Данные выберите команду Создать запрос / Получить данные — Из файла — Из папки (Create Query / Get Data — From file — From folder). Если у вас Excel 2010-2013, то Power Query нужно будет скачать с сайта Microsoft и установить как отдельную надстройку и она появится у вас в Excel в виде отдельной вкладки Power Query. На ней будет аналогичная кнопка Из файла — Из папки (From file — From folder).

В открывшемся окне нужно будет указать папку, содержимое которой мы хотим получить. После нажатия на ОК Power Query обшарит указанную папку и все вложенные подпапки и выдаст на экран окно с предварительным просмотром результатов:

Предварительный просмотр списка файлов в Power Query

Если внешний вид списка вас устраивает, то можно смело жать внизу кнопку Загрузить (Load), чтобы залить эти данные на новый лист. Если же хочется дополнительно обработать список (удалить лишние столбцы, отобрать только нужные файлы и т.п.), то нужно выбрать команду Изменить / Преобразовать данные (Edit / Transform Data).

Поверх окна Excel откроется окно редактора Power Query, где мы увидим список всех наших файлов в виде таблицы:

Окно Power Query

Дальше возможны несколько вариантов:

  • Если нужны только файлы определенного типа, то их можно легко отобрать с помощью фильтра по столбцу Extension:

    Фильтр по расширению файла

  • Аналогичным образом фильтрами по столбцам Date accessed, Date modified или Date created можно отобрать файлы за нужный период (например, созданные только за последний месяц и т.п.):

    Фильтры по дате

  • Если нужно получить данные не из всех папок, то фильтруем по столбцу Folder Path, чтобы оставить только те строки, где путь содержит/не содержит нужные имена папок:

    Фильтры по пути и папкам

  • Там же можно выполнить сортировку файлов по любому столбцу, если требуется.

После того, как необходимые файлы отобраны, можно смело удалить ненужные столбцы, щелкнув по заголовку столбца правой кнопкой мыши и выбрав команду Удалить (Remove column). Это, кстати, уже никак не повлияет на фильтрацию или сортировку нашего списка:

Готовый список

Если в будущем планируется подсчитывать количество файлов в каждой папке (например, для контроля поступивших заявок или подсчета статистики по заявкам), то имеет смысл дополнительно сделать ещё пару действий:

  • Щелкните правой кнопкой мыши по столбцу Folder Path и выберите команду Дублировать столбец (Duplicate Column).
  • Выделите скопированный столбец и на вкладке Преобразование (Transform) выберите Разделить столбец — По разделителю (Split Column — By delimiter)

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

Разделить столбец пути по разделителю

Получившиеся столбцы можно переименовать (Диск, Папка1, Папка2 и т.д.), просто щёлкнув дважды по заголовку каждого.

И, наконец, когда список готов, то его можно выгрузить на лист с помощью команды Главная — Закрыть и загрузить — Закрыть и загрузить в… (Home — Close & Load — Close & Load to…):

Выгруженные на лист результаты

И, само-собой, теперь можно построить по нашей таблице сводную (вкладка Вставка — Сводная таблица), чтобы легко подсчитать количество файлов в каждой папке:

Сводная со статистикой по каждой папке

Дополнительным бонусом можно сделать еще один столбец с функцией ГИПЕРССЫЛКА (HYPERLINK), которая создаст красивые стрелочки-ссылки для моментального перехода к каждому файлу:

Функция ГИПЕРССЫЛКА

Мелочь, а приятно :)

И вдвойне приятно, что в будущем, при изменении содержимого исходной папки, достаточно будет просто щелкнуть мышью по нашей таблице и выбрать команду Обновить (Refresh) — и Power Query выполнит всю цепочку запрограммированных нами единожды действий уже автоматически, отобразив все изменения в составе папки.

Ссылки по теме

 

Список файлов в папке легко получить этим способом

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

В интернете нашёл способ сделать это при помощи командной строки Windows, но я не очень люблю работу в командной строке. И вот, продолжительными поисками оптимального способа, было найдено нужное решение.

Как говорится, всё гениальное просто. Нам нужно создать всего лишь один bat-файл, разместить его в необходимом каталоге и запустить, после чего будет создан файл в формате «.doc», который будет включать в себе названия всех имеющихся объектов.

Итак, приступим к созданию такого волшебного батника. Самое главное условие — расширение исполняемого файла должно быть «.bat». Как включить отображение расширений в операционной системе Windows можно узнать из статьи «Как включить отображение расширения файлов». Второе условие (необязательное) — желательно использовать текстовый редактор Notepad++.

СПИСОК ФАЙЛОВ

Открываем программу Notepad++ и создаем новый документ. Копируем этот код:

chcp 1251
dir/B>spisok.doc
exit

и вставляем его в документ.

Вставка кода в документ

Переходим в меню «Файл» — «Сохранить как…».

Сохранить как bat

Выбираем директорию для сохранения (Рабочий стол), в поле «Имя файла» — пишем например spisok.bat, а в поле «Тип» — выбираем «All types (*.*)» («Все типы») и сохраняем его.

spisok_failov_v_papke

Получаем на Рабочем столе исполняемый файл «spisok.bat».

Исполняемый файл bat

Теперь для получения желаемого, копируем и вставляем созданный нами выше файл в папку и запускаем его. После чего в ней же и получаем документ «spisok.doc», открыв который при помощи Microsoft Word (выбираем нужную кодировку, если есть русское название), увидим список.

Запуск исполняемого файла в папке

Открытие списка файлов в папке

Чтобы получить содержимое всех вложенных каталогов в выбранной директории вместо «dir/B>spisok.doc » ставим «dir/S>spisok.doc».

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

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

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

 

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

Вариант 1. Сохраняем список файлов, воспользовавшись командной строкой

Чтобы воспользоваться этим способом, необходимо открыть папку, в которой находятся все файлы для будущего списка. Теперь нужно нажать клавишу «Shift» и кликнуть левой кнопкой мыши. Должно появиться меню, в котором выбирается пункт «Открыть окно команд».

Далее, в открывшемся окне консоли, можно увидеть путь к нужной вам директории (папке или раздел жесткого диска).

Для того чтобы создать список, следует ввести одну из указанных ниже команд:

«dir /b>filelist.txt» или «dir /s>filelist.txt» — вводить без кавычек.

При вводе нужно помнить, что вводя команду «dir» оставляем пробел, а слово «filelist» можете заменить на любое, написав его латинскими буквами. И не забывайте о формате «.txt» в самом конце команды.

Обе эти команды выполняют одинаковое действие, но различаются по своим критериям и возможностям. А именно сохранением списка файлов. А именно команда с «/b» сохраняет в списке только названия файлов. А «/s» собирает в список войдут не только основная папка, но все ее содержимое.

Теперь можно будет открыть сохраненный список при помощи программы «Блокнот».

Стоит сказать, что корректно отображаются только названия, написанные на латинском шрифте. Все остальные языки просто будут не распознаны и отображены в виде непонятных символов. Это связано с тем, что «Блокнот» просто не разбирает кодировку MS-DOS. И тогда лучший вариант для открытия списка в «Word» или его заменители. Для запуска необходимо будет щелкнуть левой клавишей мыши по файлу и выбрать в списке команд «Открыть с помощью». Тут выбираем свой текстовый редактор.

Вариант 2. Получаем список файлов с использованием bat файла

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

«chcp 1251
echo te% %time% >filelist.txt
dir /b /d >>filelist.txt»

Обязательно сохраняем документ в следующем виде: filelist.bat.
теперь нажимаем на кнопку «Сохранить».

Получившийся файл размещаем в той папке, для файлов которой составляется список. Запускаем файл. После исполнения, в папке появится файл, filelist.txt, содержащий полный перечень файлов.

Вариант 3. Получение списка через программу «DirLister»

Если не хочется возиться с кодировкой, а список очень нужен, то можно составить его, скачав небольшую бесплатную программу «DirLister». Она не требует установки на компьютер, так как достаточно будет только распаковать архив.

Загрузить DirLister

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

После того как список будет составлен, заходим в раздел «Output File» и выбираем кнопку «Save As». Теперь выбираем место и имя для сохранения готового списка.

Есть возможность выставить параметры поиска и составления списка, имя и тип файлов. И не забудьте после того как установите настройки нажать на кнопку «Make List».

Об окончании сканирования программа известит сообщением : «All file processed correctly».

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

Вариант 4. Составления списка через программу «Total Commander»

Составить список можно и с использованием файлового менеджера — «Total Commander». Чтобы создать список необходимо запустить программу, открыть в ней нужную папку.

Выделяем все при помощи нажатия клавиши «Shift» и стрелок вверх или вниз. Можно зайти в меню программы, выбрать там «Выделение» и пункт «Выделить все». Сразу после выделения, необходимо выбрать пункт «Копировать имена в буфер».


Теперь можно открывать офисный файл или Блокнот и вставляете туда полученный список из буфера обмена.

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

Вариант 5. Сохранение списка файлов через браузер

Если необходимо составить список файлов, но не хочется ни ставить программы, заниматься кодами и тем более не установлен «Total Commander», то можно получить список файлов из файлов, воспользовавшись самым обычным браузером.

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

Итог

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

Добавить комментарий

Получение списка файлов в папке и подпапках

Функция FilenamesCollection предназначена для получения списка файлов из папки, с учётом выбранной глубины поиска в подпапках.

Используется рекурсивный перебор папок, до заданного уровня вложенности.
В процессе перебора папок, пути у найденным файлам помещаются в коллекцию (объект типа Collection) для последующего перебора.

К статье прикреплено 2 примера файла с макросами на основе этой функции:

  • Пример в файле FilenamesCollection.xls выводит список файлов на чистый лист новой книги (формируя заголовки) 
  • Пример в файле FilenamesCollectionEx.xls более функционален — он, помимо списка файлов из папки, отображает размер файла, и дату его создания, а также формирует в ячейках гиперссылки на найденные файлы.
    Вывод списка производится на лист запуска, параметры поиска файлов задаются в ячейках листа (см. скриншот)

 

Смотрите также расширенную версию макроса на базе этой функции:

Макрос FolderStructure выводит в таблицу Excel список файлов и подпапок с отображением структуры (вложенности файлов и подпапок)

Макрос VBA загрузки списка файлов из папки

 

ПРИМЕЧАНИЕ: Если вы выводите на лист список имен файлов картинок (изображений), то при помощи этой надстройки вы сможете вставить сами картинки в ячейки соседнего столбца (или в примечания к этим ячейкам)

Внимание: если требуется, чтобы поиск не зависел от регистра символов в маске файла
(к примеру, обнаруживались не только файлы .txt, но и .TXT и .Txt),
поставьте первой строкой в модуле директиву Option Compare Text

Function FilenamesCollection(ByVal FolderPath As String, Optional ByVal Mask As String = "", _
                             Optional ByVal SearchDeep As Long = 999) As Collection
    ' © EducatedFool  excelvba.ru/code/FilenamesCollection
    ' Получает в качестве параметра путь к папке FolderPath,
    ' маску имени искомых файлов Mask (будут отобраны только файлы с такой маской/расширением)
    ' и глубину поиска SearchDeep в подпапках (если SearchDeep=1, то подпапки не просматриваются).
    ' Возвращает коллекцию, содержащую полные пути найденных файлов
    ' (применяется рекурсивный вызов процедуры GetAllFileNamesUsingFSO)

    Set FilenamesCollection = New Collection    ' создаём пустую коллекцию
    Set FSO = CreateObject("Scripting.FileSystemObject")    ' создаём экземпляр FileSystemObject
    GetAllFileNamesUsingFSO FolderPath, Mask, FSO, FilenamesCollection, SearchDeep ' поиск
    Set FSO = Nothing: Application.StatusBar = False    ' очистка строки состояния Excel
End Function
 
Function GetAllFileNamesUsingFSO(ByVal FolderPath As String, ByVal Mask As String, ByRef FSO, _
                                 ByRef FileNamesColl As Collection, ByVal SearchDeep As Long)
    ' перебирает все файлы и подпапки в папке FolderPath, используя объект FSO
    ' перебор папок осуществляется в том случае, если SearchDeep > 1
    ' добавляет пути найденных файлов в коллекцию FileNamesColl
    On Error Resume Next: Set curfold = FSO.GetFolder(FolderPath)
    If Not curfold Is Nothing Then    ' если удалось получить доступ к папке

        ' раскомментируйте эту строку для вывода пути к просматриваемой
        ' в текущий момент папке в строку состояния Excel
        ' Application.StatusBar = "Поиск в папке: " & FolderPath

        For Each fil In curfold.Files    ' перебираем все файлы в папке FolderPath
            If fil.Name Like "*" & Mask Then FileNamesColl.Add fil.Path
        Next
        SearchDeep = SearchDeep - 1    ' уменьшаем глубину поиска в подпапках
        If SearchDeep Then    ' если надо искать глубже
            For Each sfol In curfold.SubFolders    ' перебираем все подпапки в папке FolderPath
                GetAllFileNamesUsingFSO sfol.Path, Mask, FSO, FileNamesColl, SearchDeep
            Next
        End If
        Set fil = Nothing: Set curfold = Nothing    ' очищаем переменные
    End If
End Function

‘ Пример использования функции в макросе:

Sub ОбработкаФайловИзПапки()
    On Error Resume Next
    Dim folder$, coll As Collection
 
    folder$ = ThisWorkbook.Path & "\Платежи\"
    If Dir(folder$, vbDirectory) = "" Then
        MsgBox "Не найдена папка «" & folder$ & "»", vbCritical, "Нет папки ПЛАТЕЖИ"
        Exit Sub        ' выход, если папка не найдена
    End If
 
    Set coll = FilenamesCollection(folder$, "*.xls")        ' получаем список файлов XLS из папки
    If coll.Count = 0 Then
        MsgBox "В папке «" & Split(folder$, "\")(UBound(Split(folder$, "\")) - 1) & "» нет ни одного подходящего файла!", _
               vbCritical, "Файлы для обработки не найдены"
        Exit Sub        ' выход, если нет файлов
    End If
 
    ' перебираем все найденные файлы
    For Each file In coll
        Debug.Print file        ' выводим имя файла в окно Immediate
    Next
End Sub

Этот код позволяет осуществить поиск нужных файлов в выбранной папке (включая подпапки), и выводит полученный список файлов на лист книги Excel:

Sub ПримерИспользованияФункции_FilenamesCollection()
    ' Ищем на рабочем столе все файлы TXT, и выводим на лист список их имён.
    ' Просматриваются папки с глубиной вложения не более трёх.

    Dim coll As Collection, ПутьКПапке As String
    ' получаем путь к папке РАБОЧИЙ СТОЛ
    ПутьКПапке = CreateObject("WScript.Shell").SpecialFolders("Desktop")
    ' считываем в колекцию coll нужные имена файлов
    Set coll = FilenamesCollection(ПутьКПапке, ".txt", 3)
 
    Application.ScreenUpdating = False    ' отключаем обновление экрана
    ' создаём новую книгу
    Dim sh As Worksheet: Set sh = Workbooks.Add.Worksheets(1)
    ' формируем заголовки таблицы
    With sh.Range("a1").Resize(, 3)
        .Value = Array("№", "Имя файла", "Полный путь")
        .Font.Bold = True: .Interior.ColorIndex = 17
    End With
 
    ' выводим результаты на лист
    For i = 1 To coll.Count ' перебираем все элементы коллекции, содержащей пути к файлам
        sh.Range("a" & sh.Rows.Count).End(xlUp).Offset(1).Resize(, 3).Value = _
        Array(i, Dir(coll(i)), coll(i))    ' выводим на лист очередную строку
        DoEvents    ' временно передаём управление ОС
    Next
    sh.Range("a:c").EntireColumn.AutoFit    ' автоподбор ширины столбцов
    [a2].Activate: ActiveWindow.FreezePanes = True ' закрепляем первую строку листа
End Sub

Ещё один пример использования:

Sub ЗагрузкаСпискаФайлов()
    ' Ищем файлы в заданной папке по заданной маске,
    ' и выводим на лист список их параметров.
    ' Просматриваются папки с заданной глубиной вложения.

    Dim coll As Collection, ПутьКПапке$, МаскаПоиска$, ГлубинаПоиска%
 
    ПутьКПапке$ = [c1]    ' берём из ячейки c1
    МаскаПоиска$ = [c2]    ' берём из ячейки c2
    ГлубинаПоиска% = Val([c3])    ' берём из ячейки c3
    If ГлубинаПоиска% = 0 Then ГлубинаПоиска% = 999    ' без ограничения по глубине

    ' считываем в колекцию coll нужные имена файлов
    Set coll = FilenamesCollection(ПутьКПапке$, МаскаПоиска$, ГлубинаПоиска%)
 
    Application.ScreenUpdating = False    ' отключаем обновление экрана

    ' выводим результаты (список файлов, и их характеристик) на лист
    For i = 1 To coll.Count    ' перебираем все элементы коллекции, содержащей пути к файлам

        НомерФайла = i
        ПутьКФайлу = coll(i)
        ИмяФайла = Dir(ПутьКФайлу)
        ДатаСоздания = FileDateTime(ПутьКФайлу)
        РазмерФайла = FileLen(ПутьКФайлу)
 
        ' выводим на лист очередную строку
        Range("a" & Rows.Count).End(xlUp).Offset(1).Resize(, 5).Value = _
        Array(НомерФайла, ИмяФайла, ПутьКФайлу, ДатаСоздания, РазмерФайла)
 
        ' если нужна гиперссылка на файл во втором столбце
        ActiveSheet.Hyperlinks.Add Range("b" & Rows.Count).End(xlUp), ПутьКФайлу, "", _
                                   "Открыть файл" & vbNewLine & ИмяФайла
 
        DoEvents    ' временно передаём управление ОС
    Next
End Sub

PS: Найти подходящие имена файлов в коллекции можно при помощи следующей функции:

Function CollectionAutofilter(ByRef coll As Collection, ByVal filter$) As Collection
    ' Функция перебирает все элементы коллекции coll,
    ' оставляя лишь те, которые соответствуют маске filter$ (например, filter$="*некий текст*")
    ' Возвращает коллекцию, содержащую только подходящие элементы
    ' Если элементы не найдены - возвращается пустая коллекция (содержащая 0 элементов)
    On Error Resume Next: Set CollectionAutofilter = New Collection
    For Each Item In coll
        If Item Like filter$ Then CollectionAutofilter.Add Item
    Next
End Function

Пакетное создание папок по списку с разными именами с помощью *.bat?

Всем привет! После длительного затишья, я снова вернулся! Кстати я обновил свой блог и надеюсь это как то простимулирует меня на дальнейшее его развитие!
[contents] И так, приступим!
Сегодняшняя наша тема, это «как создать много папок с разными именами из списка?» данная нетривиальная задача, может Вам сейчас показаться смешной, НО когда Вам дают создать более 1000 папок, то вручную это надо потратить уйму времени и сил, а я человек ленивый) поэтому выкладываю вам рабочий вариант как создать много папок с разными именами автоматически!

В данной статье мы будем разбирать два варианта автоматизации создания папок с разными именами:

  1. Автоматическое создание папок по списку
  2. Создание подпапок во всех папках

Автоматическое создание папок по списку


Для этого нужно создать bat файл:

  1. кликаем правой кнопкой на рабочем столе
  2. выбираем из меню пункт — создать
  3. Выбираем — текстовый документ
  4. далее удаляем все название и формат (у вас по умолчанию должен создаться документ — Новый текстовый документ.txt -обратите внимание, что бы стоял формат файла txt, если он не стоит, Вам надо в настройках включить отображение расширений фалов) и вписываем название файла допустим test.bat (формат должен быть именно bat )
  5. открываем его кликая на нем правой кнопкой мыши и выбираем из списка меню — Изменить
  6. а теперь самое интересное) вписываем в него следующую команду:
    @<«list.txt» (for /f «delims=» %%i in (‘more’) do @md «%%~i»)
  7. и в этом же месте где мы создали наш первый bat скрипт создаем текстовый файл с именем list.txt  в который вписывайте в строчку все названия папок которые Вам нужны
  8. Запускайте Ваш файл и вуаля) у вас создались автоматически за несколько секунд сотни и тысячи папок по Вашему списку)

Вот таким незаурядным способом можно облегчить себе жизнь, а заодно и прокачать себе мозг новыми знаниями)

Теперь усложняем задачу, теперь нам в каждой из этих папок нужно создать еще и подпапки

Создание подпапок во всех папках

  1. Как и по прошлой инструкции создаем bat файл
  2. Открываем его и вписываем след команду:

    for /d %%g in (c:\kuda\*) do call xcopy c:\cto\* /E %%g

    подписаться на канал айтишника
  3. Разбираем команду:
    c:\kuda\ — прописываем путь куда должны копироваться папки
    c:\cto\* — что должно копироваться (в моем случае я копировал все подпапки из директории cto)
  4. Запускаем наш bat файл и смотрим результат )

Если Вам была полезна эта статья или Вы его хотите чем то дополнить, пишите в комментариях!

 

PS!!! Если у вас будут проблемы с кодировкой и русскими именами, то нужно сделать следующее:

Для этой операции я использую расширенный блокнот Notepad++.

1) Ctrl+A  скопируйте код
2) Удалить код
3) Выберите в Меню «Кодировки» -> «Кодировки» -> «Кириллица» -> «OEM-866»
4) Вставить код
5) Сохраняете документ
6) Запускаете Ваш скрипт

после этого проблем с кодировкой быть не должно!

В этой статье вы узнаете как сделать: создание папок по списку из текстового файла, пакетное создание папок, создание папок по списку из текстового файла, как создать много папок с разными именами, как создать несколько новых папок сразу, программа для создания папок, как быстро создать много файлов, пакетное создание папок, как быстро создать много файлов, создать несколько каталогов, bat создать папку в папке, создать много папок bat, как быстро создать много файлов, программа для создания папок, cmd создать несколько файлов

Сохранение списка файлов и содержимого папок в текстовый файл

A directory listing saved as a text file A directory listing saved as a text file

Сохранить полный список файлов, содержащихся в папке, легко, и есть два быстрых способа сохранить этот список в виде текстового файла.

Сохранить список файлов из Finder

Первый подход может быть самым простым для большинства пользователей и осуществляется через приложение OS X Finder и TextEdit, это простой вопрос копирования и вставки:

  • Откройте папку, в которой вы хотите получить список содержимого, и нажмите Command + A (Выбрать все), а затем Command + C (Копировать)
  • Теперь запустите TextEdit, откройте меню «Правка» и выберите «Вставить и сопоставить стиль» или нажмите Command + Option + Shift + V.
  • Сохраните список каталогов как файл.txt или .rtf

Save a list of files into a text document Save a list of files into a text document

Сохранение подробного списка файлов из терминала

Второй подход использует командную строку, и, несмотря на то, что он выполняется через Терминал, не намного сложнее, чем подход копирования и вставки, описанный выше. Запустите Терминал из / Applications / Utilities /, чтобы начать.

В основном это следующая команда:

ls> contents.txt

Для включения скрытых файлов в список требуется флаг -a:

ls -a> allcontents.txt

Чтобы вывести содержимое определенной папки, укажите путь к каталогу следующим образом:

ls / Library / Preferences /> LibPrefsList.txt

Прикрепление определенных флагов к команде ls позволит списку отображать больше, чем просто список содержимого файла, флаг -l также перечислит разрешения, права собственности на файл и даты модификации:

ls -la / Library / Preferences /> detailprefsinfo.txt

Поскольку команда ls принимает флаги, которые описывают дополнительные атрибуты файлов и папок, она может быть гораздо более информативной, чем подход Finder & TextEdit, который не отображает такие детали, как права собственности на файлы или права доступа к документам.

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

Связанные

.

Как мне копировать файлы из подпапок? (список имен файлов находится в текстовом файле) с использованием командной строки и perl

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
  5. Реклама Обратитесь к разработчикам и технологам со всего мира
  6. О компании
.

Applescript: получить имена файлов в папке без расширения

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
  5. Реклама Обратитесь к разработчикам и технологам со всего мира
  6. О компании
.

скрипт Python создает папки из имени файла

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
  5. Реклама Обратитесь к разработчикам и технологам со всего мира
  6. О компании
.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *