Как скопировать список имен файлов в текстовый файл?

17

Как я могу скопировать имена файлов в каталоге в текстовый файл или в буфер обмена?

Алекс Г
источник
1
Как упомянул hochl, вы не даете имя операционной системы ... но слово «пакет» неявно относится к этой знаменитой букве «W» ...: S
climenole
Возможный дубликат создания файла / списка папок
Дмитрий Григорьев
Если у вас все в порядке с полным путем к файлу, удерживайте нажатой клавишу Shift, щелкните правой кнопкой мыши по выделенным файлам / папкам и выберите «Копировать как путь». Это даст вам полный путь ко всем выбранным файлам / папкам в буфере обмена.
Джош

Ответы:

31

Это очень просто в интерпретаторе командной строки Windows (все операционные системы Windows):

  1. Откройте командную строку (Пуск -> Выполнить -> cmd Enter)
  2. Перейдите ( cd) к каталогу, файлы которого вы хотите перечислить.
  3. Введите (например, ) и нажмите .dir > output_file_namedir > C:\dir.txtEnter

Откройте вновь созданный текстовый файл ( C:\dir.txt), и вы получите полный вывод dirкоманды в этом каталоге.

Символ «больше» ( >) означает перенаправление вывода; он отправляет выходные данные большинства команд в указанный вами файл и очень удобен для возможности регистрации выходных данных команд.

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

Обновление: создание контекстного меню, вызываемого правой кнопкой мыши, для создания списка содержимого каталога.

Создайте командный файл и сохраните его как %windir%\DirList.bat:

@echo off
set dirpath=%1
dir %dirpath% /-p /o:gn > "%dirpath%\DirContents.txt"
exit

Откройте ваш SendToкаталог:

Windows 7 / Vista: %appdata%\Microsoft\Windows\SendTo
Windows XP:%USERPROFILE%\SendTo

Создайте новый ярлык DirList.batи назовите его как хотите.

Теперь, щелкнув правой кнопкой мыши по любому каталогу и выбрав SendToподменю, вы увидите новую команду для отображения содержимого каталога.

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

music2myear
источник
4
Я полагаю, вам не хватает /bпереключателя. Без этого дополнительная информация, такая как размеры файлов и даты создания, также будет записана в файл.
Бхаргав Бхат
Это действительно зависит от того, что он хочет записать. Я использовал самый простой набор, чтобы не путать с дополнительной информацией. Вы увидите, что я добавил информацию о том, что вывод может быть настроен со всеми доступными параметрами команды DIR.
music2myear
То , что я хочу сделать , это создать файл .bat , содержащий команду: dir > dir.txt. Затем я могу скопировать этот файл в любую папку, запустить его и получить список текстовых файлов, не открывая командную строку и не перемещаясь по папкам.
Стивен Ното
Это будет работать. Могут даже быть способы интеграции этой функции в контекстное меню, вызываемое правой кнопкой мыши.
music2myear
Эта ссылка содержит инструкции для печати списка, но ее можно легко изменить. Я буду видеть , если я могу положить что - то вместе во второй половине дня: watchingthenet.com/...
music2myear
9

Вы можете использовать dir /b > files.txtиз командной строки, чтобы получить список имен файлов, сохраненных в files.txt. Добавьте, /sесли вы хотите рекурсивный список.

Чтобы поместить содержимое непосредственно в буфер обмена, просто передайте вывод clip, т.е. выполните dir /b | clip.

Бхаргав Бхат
источник
6

Поскольку вы не упомянули операционную систему, вот как она работает на * nix:

$ find . -maxdepth 1 -type f > /tmp/files.txt

для файлов в текущем каталоге или

$ find . -type f > /tmp/files.txt

если вы хотите получить все файлы в дереве каталогов.

hochl
источник
2

Другой вариант Unix будет

ls -R > myfile.txt 

Это будет список всего в текущем каталоге и рекурсивных каталогах.

ablinkin
источник
1

Из проводника Windows создайте ярлык в папке SendTo и введите следующую команду:

%windir%\system32\cmd.exe /k dir /b "%1"

удалить текст «Начать с»

После того, как команда была выполнена один раз, вы можете изменить значения по умолчанию для окна (например, выбор с помощью мыши вместо Edit → Mark).

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

Итан
источник