Làm cách nào để liệt kê đệ quy tên tệp (chỉ) trong DOS / Windows? [bản sao]


20

Có thể trùng lặp:
Nhận tên tệp đệ quy trong dấu nhắc lệnh

Tôi muốn liệt kê đệ quy tất cả các tệp trong một thư mục, chỉ hiển thị tên tệp (không có phần mở rộng và không có đường dẫn đầy đủ). Tôi đang sử dụng Windows / DOS.

Gần nhất tôi có thể nhận được dirdir /s /b, nhưng nó liệt kê các đường dẫn đầy đủ và cũng hiển thị các phần mở rộng.

Chà, có lẽ tôi có thể sống với các phần mở rộng, nhưng tôi phải thoát khỏi các lối đi!

Có ý kiến ​​gì không?


1
Phiên bản nào của windows?
OldWolf

@OldWolf: XP. Tôi không thích sử dụng bất kỳ phần mềm của bên thứ ba nào
David B

Câu trả lời:


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

Nếu bạn cần danh sách được lưu vào một tệp, hãy thêm >> C:\Path\To\list_file.txtvào cuối forlệnh.

Nếu bạn cuối cùng muốn các tiện ích mở rộng, hãy đổi %~nithành%~nxi

Để sử dụng trong một tệp bó, thay đổi tất cả %thành%%


6
Nếu bạn cần đường dẫn, tên và tiện ích mở rộng, hãy thay đổi% ~ ni thành% ~ pnxi
Sâu

Điều này hoạt động nhưng nó không hiển thị các tập tin ẩn. Làm thế nào tôi cũng có thể xem các tập tin ẩn?
ala

@ala: Nếu bạn muốn hiển thị các tệp ẩn, bạn sẽ chỉ cần sử dụng câu trả lời như câu trả lời của David Remy với các cờ thích hợp được truyền cho dirlệnh.
afrazier

7

Nếu bạn sẵn sàng tải powershell, lệnh này sẽ làm điều đó.

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

5

Làm một cái gì đó như sau sẽ giúp bạn có được những gì bạn muốn:

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

Chỉ cần đưa đầu ra vào một tệp và sử dụng nó từ đó nếu cần.


3

Không biết bạn có coi đó là phần mềm của bên thứ 3 hay không vì nó là Microsoft và được phát hành với 7, nhưng powershell sẽ giải quyết hầu hết vấn đề của bạn khá dễ dàng. Nếu bạn chưa cài đặt nó, nó có sẵn cho XP trên trang web của Microsoft.

Get-ChildItem -path "C:\Program Files\" -recurse | foreach ($_) {
    write $_.name
}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.