2

Как я могу получить текстовый список или дамп данных имен файлов из каталога Windows? У меня установлена следующая папка:

[My Documents]
--SomeFileName.doc
--AnotherFileName.bmp
--AnotherMoreFileName.zip
--...

Я хочу получить все имена файлов, которые находятся внутри папки (Мои документы) всего за один процесс, и сделать имена файлов в виде списка, который я могу скопировать в Блокнот.

В настоящее время мой процесс состоит в том, чтобы нажать F2, чтобы выделить имя файла, и нажать CTRL+C, чтобы скопировать и вставить его в Блокнот, а затем поместить его в список. Я хочу быть в состоянии получить эти имена файлов быстрым и простым способом.

Я хочу избежать любого внешнего программного обеспечения, если это возможно; Я просто хочу использовать программное обеспечение, установленное на моем ноутбуке (Office и Windows XP, хотя Vista или Windows 7 не так уж плохи, чтобы знать).

2 ответа2

7

Откройте командную строку.

cd %homedrive%%homepath%\My Documents

dir /b > filenames.txt

filenames.txt будет содержать список всех ваших файлов.

1

Откройте powershell и введите следующее:

PS> cd "~\My Documents"
PS> ls | Where-Object {!($_.PSIsContainer)} | foreach-object {add-content -path filelist.txt -value $_.name}

То , что происходит здесь, вы ls (список) все файлы в каталоге и отправить этот список через фильтр , который удаляет каталоги (где-объект не является контейнер). Затем вы отправляете отфильтрованный список в цикл, который добавляет имена файлов в ваш текстовый файл по одному. $_ представляет объект в списке.

Вы можете делать все другие интересные вещи, например, добавив -recurse в команду ls, которая выдаст вам все файлы во всех каталогах текущего каталога.

Вы можете заменить $_.name Name на $_.fullName чтобы получить полный путь, или $_.Extension для расширения. Смотрите документацию по классу fileinfo в msdn, чтобы увидеть все классные вещи, которые вы можете сделать с объектом fileinfo.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .