Як мені рекурсивно перераховувати імена файлів (лише) у DOS / Windows? [дублікат]


20

Можливий дублікат:
отримуйте голі імена файлів рекурсивно в командному рядку

Я хотів би рекурсивно перераховувати всі файли в каталозі, показуючи лише назви файлів (без розширень та без повних шляхів). Я використовую Windows / DOS.

Найближчий, з яким я міг потрапити, dirбув dir /s /b, але він перераховує повний шлях, а також показує розширення.

Ну, можливо, я міг би жити з розширеннями, але я мушу позбутися стежок!

Будь-які ідеї?


1
Яка версія Windows?
OldWolf

@OldWolf: XP. Я вважаю за краще не використовувати жодне сторонне програмне забезпечення /
David B

Відповіді:


28
cd /d C:\Path\To\Source\Folder
for /r %i in (*) do @echo %~ni

Якщо вам потрібен список, збережений у файлі, додайте >> C:\Path\To\list_file.txtйого до кінця forкоманди.

Якщо ви хочете розширення, перейдіть %~niна%~nxi

Щоб використовувати у пакетному файлі, змініть усі %на%%


6
Якщо вам потрібен шлях і ім'я і розширення, зміна% ~ Ni в% ~ pnxi
Deep

це працює, але в ньому не відображаються приховані файли. Як я також бачу приховані файли?
ала

@ala: Якщо ви хочете показати приховані файли, вам потрібно буде використовувати щось на зразок відповіді Девіда Ремі лише з відповідними прапорами, переданими dirкоманді.
інфраструктура

7

Якщо ви готові завантажити паттерн влади, ця команда повинна це зробити.

get-childitem "d:\acc" -recurse|foreach {$_.Basename}

5

Виконуючи щось подібне, ви повинні отримати те, що вам потрібно:

@for /f "delims=" %a in ('Dir /s /b %systemdrive%') do echo %~na

Просто передайте висновок у файл і використовуйте його звідти, якщо потрібно.


3

Не знаєте, чи вважаєте ви це програмним забезпеченням сторонніх виробників чи ні, оскільки це форма Microsoft і постачається із 7, але посібник вирішить більшість вашої проблеми досить легко. Якщо ви ще не встановили його, він доступний для XP на сайті Microsoft.

Get-ChildItem -path "C:\Program Files\" -recurse | foreach ($_) {
    write $_.name
}
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.