2012-03-01 16:41:41 +0000 2012-03-01 16:41:41 +0000
17
17

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

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

Ответы (5)

32
32
32
2012-03-01 16:45:04 +0000

Это очень, очень просто в Windows Command-Line Interpreter (все ОС Windows):

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

Откройте только что созданный текстовый файл (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 представит вашу новую команду для перечисления содержимого каталога.

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

9
9
9
2012-03-01 16:48:49 +0000

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

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

6
6
6
2012-03-01 17:00:49 +0000

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

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

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

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

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

2
2
2
2012-03-01 20:56:00 +0000

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

ls -R > myfile.txt

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

1
1
1
2012-06-10 04:26:54 +0000

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

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

Удалите текст “Start in”

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

Проблема только в том, что вам нужно будет проигнорировать первую строку (на которой написано “файл не найден”).

Похожие вопросы

3
19
10
28
6