Приветствие

четверг, 5 апреля 2012 г.

Создать список содержимого папки

Хранящиеся на компьютере папки с различными файлами в виде изображений, музыкальных композиций, документов программ и так далее каталогизируются пользователем разными способами. Как с помощью специальных программ, так и вручную. Но иногда требуется получить список с перечнем файлов хранящихся в определенной папке в виде текстового документа. Это может пригодиться, например, для сравнения содержимого папок находящихся на разных компьютерах. Или для составления списка музыкальных треков, фильмов, роликов и других файлов, наглядно представленных в текстовом файле с возможностью добавить комментарий к каждому пункту. Проще говоря, пользователь сам решит, как воспользоваться приемом создания списка содержимого папки. Главное что не надо это делать вручную, за него это сделает система. Для осуществления задуманного пользователю требуется ввести несколько строчек в командную строку и список содержимого папки будет создан.
Нажмите кнопку Пуск и в поле "Найти программы и файлы" введите команду – cmd и нажмите "Enter" Откроется окно командной строки, куда следует вписать следующую команду вида: dir диск:\путь>c:>lst.txt. После нажатия на клавишу "Enter" на диске С появится файл lst.txt с содержимым каталога, который был вами указан. Можно выбирать любое имя файла и место его расположения. Для простоты можно просто скопировать в проводнике путь к файлу и вставить его с помощью контекстного меню вызываемого правой клавишей, после dir. Если в названии выбранных папок пути есть пробелы, допустим, название папки состоит из двух слов, то его нужно заключить в двойные скобки. Как пример, что бы создать список для папки F:\Папки Данных\data\Program Files, в командной строке нужно создать – dir "F:\Папки Данных\data\Program Files">c:>lst.txt.
Создать список содержимого папки
Нажмите на картинку для увеличения
Часто бывает, что в одну папку вложено несколько папок. Что бы получить содержимое всех вложенных папок в выбранной директории следует после dir добавить /s. В нашем примере получится так: dir /s "F:\Папки Данных\data\Program Files" >c:>lst.txt.
Создать список содержимого папки
Нажмите на картинку для увеличения
Если все сделали правильно, то вы получите список содержимого папки в файле под именем lst.txt. Теперь о том, как открыть этот файл, вернее с помощью чего. Дело в том, что если в выбранной директории или папке имеются файлы с названиями на русском языке то при попытке просмотра полученного списка в программе, не поддерживающей кодировку DOC, будут отображаться непонятные символы. Обычно это бывает в Блокноте. Поэтому лучше всего открывать с помощью Word. Наведите курсор на файл lst.txt и нажмите правую клавишу. В меню выберете "Открыть с помощью", "Microsoft Word". Появится окно "Преобразование файла", где выберете кодировку MC-DOC.
Создать список содержимого папки
Нажмите на картинку для увеличения
После этого можно посмотреть полученный результат, а так же при необходимости добавить комментарий или отредактировать по своему усмотрению.

51 комментарий :

  1. Очень полезная информация. Спасибо.

    ОтветитьУдалить
    Ответы
    1. Пожалуйста. Иногда действительно бывает нужно список содержимого папки.

      Удалить
  2. 1. Создаём файлик, например, list.bat.
    2. В нём всего три строчки:
    chcp 1251
    dir/B>list.doc
    exit
    3. Запускаем list.bat в нужной нам папке и открывем list.doc!!!!

    ОтветитьУдалить
    Ответы
    1. Можно и таким способом. Я описал вариант с помощью командной строки.
      В варианте с помощью bat файла, можно создать в блокноте, затем в меню файл выбрать "Сохранить как". В поле "Имя файла" - list.bat
      В поле "Тип файла" выбрать - все.
      Для получения содержимого всех вложенных папок в выбранной директории вместо dir/B>list.doc
      ставим dir/s>list.doc
      Для открытия файла list.doc с помощью Word выберете кодировку "Другая".
      Какой из вариантов удобнее, судить пользователю.

      Удалить
    2. ПО МОЕМУ ПРОСТО ГЕНИАЛьНО!!! DANKE

      Удалить
    3. спасибо за информацию

      Удалить
    4. Просто не слов... Мы всем отделом неделями сидели и делали эти перечни вручную, а теперь благодаря Вам...! Не зря говорят: если ты не знаешь простого способа, это не значит, что его нет ))) СПАСИБО ВАМ ГРОМАДНОЕ! Особенно за подробное разжевывание и доступность объяснения! Конечно, полученный перечень - это не готовое оглавление, и с ним ещё нужно поработать, чтобы привести в надлежащий вид, но это мелочи. Остается только один вопрос: что теперь делать на работе с освободившимся вагоном времени? )))) Спасибо ещё раз!

      Удалить
    5. Пожалуйста.
      Думаю, с вопрос об освободившимся вагоне времени решается просто. Можно попросить руководителя подкинуть новой работы, а можно посмотреть данный блог на предмет выявления других полезных советов. А так же: выпить пива, забить "козла", да и просто развлечься ничего неделанием - самым эффективным способом убивать свободное время.
      Но всегда следует помнить - "Жизнь коротка, искусство вечно" - Гиппократ.

      Удалить
  3. Через командную строку не получилось - ответ один: ошибка в адресе (может из-за кириллицы?).
    В программе FreeCommander в разделе каталог есть опция "создать список каталога"; на выходе получаем FileList.txt.
    Список получился подробный, буду пользоваться. Спасибо за урок.

    ОтветитьУдалить
    Ответы
    1. Кирилица тут нипиричем. Попробуйте отсюда скопировать пример из текста и вставить в командную строку.э Что то Вы делаете не так.

      Удалить
  4. Есь еще один способ. Сделать все Тотал командером.
    Выбираем любой, нужный нам каталог. Пусть в нем еще много подкаталогов. Это не важно. Тотал прошерстит все, что ниже.
    Нажимаем комбинацию Ctrl+B - командер покажет все файлы без подкаталогов. Выделяем, нажав "*" (просто звездочку).
    А дальше два варианта.
    В меню "Инструменты" есть пункт "Копировать имена файлов в буфер".
    Копируем и потом вставляем в файл в любом текстовом редакторе. Хотим в блокноте, а кто хочет - в ворде.
    Можно скопировать имена файлов с путями.
    Тогда получим не только имя файла в списке, но и путь к нему в чаще наших каталогов.
    Если знаете хоть часть имени, то найти нужный файл потом не составит никакого труда.

    ОтветитьУдалить
    Ответы
    1. В Total Commander разных версий подобные фичи реализованы настолько по разному, что надо указывать версию, когда даешь подобные советы. Например в Total Commander 6.51 вообще нет меню "Инструменты", в нем это делается немного по другому.
      Выделяешь нужные файлы/папки обычным способом (например для выделения всего "+", затем Enter). В меню "Выделение" команда "Сохранить в файл" - имена файлов и папок будут сохранены в текстовый файл с кодировкой Win. Если нужно сохранить список с содержимым вложенных папок, то предварительно в меню "Команды" выбираем "Показать все файлы с подкаталогами" (Ctrl+B). Но в любом случае, независимо от вида на панели Total Commander, краткого или подробного (с датами и размерами), в файле будет краткий вид, т.е. только имена.
      Еще один немного экстравагантный способ в Total Commander - через печать, но для этого в системе должен быть установлен какой-либо виртуальный pdf-принтер, например Adobe PDF, pdfFactory, doPDF, novaPDF и т.п. В меню "Файл" выбираем команду Печать - Список файлов... или - Список файлов с подкаталогами. В окне печати видим, как будет выглядеть документ, выбираем виртуальный принтер и Печать. На выходе pdf-файл, в котором в зависимости от вида на панели Total Commander, краткого или подробного, будет либо только список имен папок и файлов, либо с размерами, датами и атрибутами, причем если была выбрана команда Печать - Список файлов с подкаталогами, то список будет очень удобно сгруппирован по папкам, в отличие от способа через команду Выделение - Сохранить в файл. Из pdf-файла можно как обычно копировать текст в буфер и вставлять хоть в простейших текстовых редакторах, хоть в более сложных, с сохранением форматирования. Нужно только иметь в виду, что не любой виртуальный pdf-принтер создает в текстовом виде, некоторые, например Universal Document Converter, создают в растровой графике, поэтому текст из них конечно скопировать не получится.
      Подобные возможности есть и в других файловых менеджерах.

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

      Удалить
  5. Огромное спасибо, все работает. Сначала немного ошибся с орфографией запроса, затем простой копипаст ситуацию решил.

    ОтветитьУдалить
  6. спасибо большое, очень полезная информация!

    ОтветитьУдалить
  7. Подскажите для чего нужна строчка в .bat файле chcp 1251?
    Поддержка кириллицы?

    ОтветитьУдалить
    Ответы
    1. Да. Если в пути есть кириллица применяется chcp 1251

      Удалить
  8. У меня на Win7 не сработало почему то, хотя делал все в точности как в Вашем мануале... просто не появлялся сам файлик списка. В чем может быть проблема?

    ОтветитьУдалить
    Ответы
    1. Посмотрите в C:\Windows\System32, либо задайте в поиске - lst.txt

      Удалить
    2. или прямо в окне cmd введите lst.txt и нажмите Enter

      Удалить
  9. ОГРОМНОЕ СПАСИБО!!!!!

    ОтветитьУдалить
  10. А можно ли сделать так же, только чтобы еще была графа с размером файла и его названием.расширением?

    ОтветитьУдалить
    Ответы
    1. Название и расширение файла указывается, размер - увы.

      Удалить
  11. а как сделать чтобы при использовании dir/s>list.doc не игнорировались скрытые файлы?

    ОтветитьУдалить
  12. А как сделать чтобы при использовании dir/s>list.txt не игнорировались скрытые файлы?

    ОтветитьУдалить
    Ответы
    1. В этом случае, возможно, поможет включение отображения скрытых файлов. В проводнике Windows нажмите "Сервис", затем "Параметры папок", перейдите на вкладку "Вид" прокрутите ползунок и установите переключатель в положение "Показывать скрытые файлы, папки и диски".

      Удалить
    2. К сожалению не помогает. Вычитал в интернете, что, вроде как, dir по умолчанию не учитывает скрытые файлы

      Удалить
    3. Еще нужно снять флажок с "Скрывать защищенные системные файлы".
      Не знаю для чего нужен список скрытых файлов но смотрите этот материал: раздел "Атрибуты файлов или разрешения NTFS" - http://support.microsoft.com/kb/814594/ru

      Удалить
  13. создал бат-файл, как написано выше
    в получившемся доке в виде таблицы показывается и время и дата файлов, и их размер, и всё по-русски нормально (при открытии док-файла кодировку выбрать виндоуз по умолчанию)

    ОтветитьУдалить
  14. Вах, маладэц! :))

    Слава таким парням, как ты! Ну и Гуглю тоже. :))

    (Что бы мы, чайники, без вас делали?..:))

    ОтветитьУдалить
  15. Здраствуйте!
    Вроде все доступно и понятно. Хороший и полезный БЛОГ!
    Но уже трое суток пробую и не получается создать текстовый документ "командной строкой2. Помогите пожалуйста разобраться!

    ОтветитьУдалить
    Ответы
    1. А что конкретно не получается? Чаще всего ошибка в запросе. Попробуйте отсюда скопировать пример из текста и вставить в командную строку.

      Удалить
    2. Спасибо за ответ!
      В моем случае - название папки состоит из двух слов и в папке есть еще одна папка. Заключаю в кавычки(адрес нахождения папки)и добавляю /s.
      Пробовал так -
      C:\Documents and Settings\Admin>dir /s "E:\Дайджест\Папка\Копия ФОТО" >c:>lst.txt
      и вот так -
      C:\Documents and Settings\Admin>dir /s"E:\Дайджест\Папка\Копия ФОТО">c:>lst.txt
      Кликаю "Enter". В окне командной строки появилось сообщение:
      ОШИБКА В ФОРМАТЕ ПАРАМЕТРА "s"E:\Дайджест\Папка\Копия ФОТО""
      После всего, где будет находится файл под именем lst.txt, может я его не вижу!? Как понимаю здесь - C:\Documents and Settings\Admin

      Удалить
    3. Что бы обнаружить файл наберите в строке поиска меню пуск команду: lst.txt, так быстрее будет.

      Удалить
    4. Сегодня, в очередной раз повторил всю процедуру.
      Набрал в таком порядке - C:\Documents and Settings\Admin>dir /s "E:\Дайджест\Папка\Копия ФОТО" >c:>lst.txt
      Зашел по адресу - C:\Documents and Settings\Admin
      В этот раз lst.txt не был пустым, как до этого.
      Попробовал открывать файл разными программами и Microsoft Word в т.ч. - имели место символы. Открыл через браузер - читаемо. Затем скопировал в Word.

      При выполнении этой процедурв:
      "Поэтому лучше всего открывать с помощью Word. Наведите курсор на файл lst.txt и нажмите правую клавишу. В меню выберете "Открыть с помощью", "Microsoft Word". Появится окно "Преобразование файла", где выберете кодировку MC-DOC."
      - окно "Преобразование файла" пояляется после кликания на "Сохранить"(в момент сохранения файла).

      Спасибо за отклик и обучение этому методу "создания списка содержимого папки" командной строкой!

      Удалить
  16. Добрый день.
    Подскажите ,как создать список файлов в подпапках
    Вот в папке E:\Дайджест\Папка\Копия ФОТО есть ещё три подпапки.
    E:\Дайджест\Папка\Копия ФОТО\1
    E:\Дайджест\Папка\Копия ФОТО\2
    E:\Дайджест\Папка\Копия ФОТО\3
    Как мне в один txt вывести вот такой формат
    1\1.jpeg
    1\2.jpeg
    1\3.jpeg
    1\4.jpeg
    2\1.jpeg
    2\2.jpeg
    2\3.jpeg
    3\1.jpeg
    3\2.jpeg
    3\3.jpeg
    Заранее благодарен!!

    ОтветитьУдалить
    Ответы
    1. Это написано в тексте поста: "Часто бывает, что в одну папку вложено несколько папок. Что бы получить содержимое всех вложенных папок в выбранной директории следует после dir добавить /s. В нашем примере получится так: dir /s "F:\Папки Данных\data\Program Files" >c:>lst.txt."

      Удалить
    2. Всё верно,но в первых строчках файла, появляются имена папок , а потом уже то что нужно!!.
      Вот
      1
      2
      3
      1\1.jpeg
      1\2.jpeg
      1\3.jpeg
      1\4.jpeg
      2\1.jpeg
      2\2.jpeg
      2\3.jpeg
      3\1.jpeg
      3\2.jpeg
      3\3.jpeg
      Как мне избавиться от первых строк , то есть папок

      Удалить
    3. Возможно эти папки не имеют вложенных папок. Вообще то Вы можете отредактировать текстовый файл в ручную при желании.

      Удалить
  17. помогите сделать пожалуйста
    Вариант 5-01
    Создайте командный файл вывода имен и характеристик файлов (с помощью команды dir) заданных типов или с заданным именем из заданной папки.
    В качестве первого (обязательного) параметра должно быть задано имя папки (для текущей папки задается символ "."). Вторым (необязательным) параметром является тип файла:
    • prog – для программных файлов (с расширениями .com и .exe);
    • bat – для командных файлов (с расширением .bat);
    • text – для текстовых файлов (с расширениями .doc и .txt);
    • all – для всех файлов.
    Если второй параметр не задан, выдается запрос на ввод имени файла, для которого будут выводиться характеристики (в имени файла можно использовать символы * и ?).
    Для значений параметров prog, bat или text должно быть выведено общее количество файлов соответствующего типа в папке (программных, командных или текстовых).

    ОтветитьУдалить
  18. помогите сделать пожалуйста
    Вариант 5-01
    Создайте командный файл вывода имен и характеристик файлов (с помощью команды dir) заданных типов или с заданным именем из заданной папки.
    В качестве первого (обязательного) параметра должно быть задано имя папки (для текущей папки задается символ "."). Вторым (необязательным) параметром является тип файла:
    • prog – для программных файлов (с расширениями .com и .exe);
    • bat – для командных файлов (с расширением .bat);
    • text – для текстовых файлов (с расширениями .doc и .txt);
    • all – для всех файлов.
    Если второй параметр не задан, выдается запрос на ввод имени файла, для которого будут выводиться характеристики (в имени файла можно использовать символы * и ?).
    Для значений параметров prog, bat или text должно быть выведено общее количество файлов соответствующего типа в папке (программных, командных или текстовых).

    ОтветитьУдалить
    Ответы
    1. Это что такое за вариант 5-01? Вы уж договаривайте чего хотите.
      В списке содержимого папки и так выводятся имена и тип расширения содержащихся файлов.

      Удалить
    2. Если нужно вывести список просто в командной строке, то будет так: dir /s "F:\Папки Данных\data\Program Files", без - >c:>lst.txt.

      Удалить
  19. Спасибо! Вы добрый человек!

    ОтветитьУдалить

Примечание. Отправлять комментарии могут только участники этого блога.