Làm thế nào để xóa đệ quy thư mục từ dòng lệnh trong windows?


Câu trả lời:


342

deltreenếu tôi nhớ DOS của tôi .


Có vẻ như nó đã được cập nhật ... đây là những gì bạn muốn:

RMDIR /S

Điều này loại bỏ thư mục C:\test, với lời nhắc:

rmdir c:\test /s

Điều này không giống nhau, không có lời nhắc:

rmdir c:\test /s /q

Về phần sudo của câu hỏi của bạn, nếu bạn cần nhiều quyền riêng tư hơn, trước tiên bạn có thể mở một vỏ mới như một tài khoản người dùng khác bằng cách sử dụng runaslệnh, như sau:

runas /user:Administrator cmd
rmdir c:\test /s /q

1
@FarmBoy, xin lỗi, có vẻ như ký ức của tôi đã lùi quá xa. Tôi đã cập nhật câu trả lời cho Windows XP và mới hơn.
Colin Pickard

8
deltreelà một lệnh DOS cũ. Nó đã bị xóa trong XP và được thay thế bằngrmdir /s
heavyyd

3
Cờ / s có nghĩa là gì?
Mike R

Vì một số lý do, có một vấn đề nếu bạn làm điều này trong Powershell. Vì vậy, chỉ cần sử dụng dòng lệnh của Windows.
Devid

3
@MikeR, nó có thể là viết tắt của "thư mục con" hoặc một cái gì đó. findstrcó cùng tham số, điều này có ý nghĩa hơn đối với trường hợp của nó, vì vậy có lẽ chúng giống nhau về tính nhất quán.
Sam

57

Nếu bạn muốn xóa cấu trúc thư mục dài và phức tạp khỏi dấu nhắc lệnh mà RmDir sẽ không chạm vào và thậm chí trình thám hiểm không thể hiển thị, tôi đã thấy bản sao lưu có thể rất hiệu quả trong việc xóa cấu trúc. Trong ví dụ dưới đây, chúng tôi có một cấu trúc lớn bên trong quản trị viên thư mục, cấu trúc này sâu đến mức không có gì có thể loại bỏ nó. Chúng tôi tạo một thư mục trống mới gọi là (đủ lạ!) "Thư mục mới". Sau đó, chúng tôi sử dụng lệnh robocopy, nói với nó thư mục nguồn là "thư mục mới" và thư mục đích là "D: \ Administrator" với tham số / MIR có nghĩa là nó sẽ lọc mọi thứ không có trong thư mục nguồn.

robocopy "D:\new folder" D:\Administrator /MIR

Trong trường hợp này, các đường dẫn thư mục quá dài, chúng thậm chí sẽ không vừa trong cửa sổ nhắc lệnh Bộ đệm màn hình, nhưng Robocopy sẽ duyệt qua cấu trúc và xóa bất kỳ tệp và thư mục "phụ" nào (tức là mọi thứ không có trong thư mục trống mới, đó là tất cả mọi thứ ).


11
Đây là giải pháp duy nhất sẽ hoạt động khi đường dẫn của bạn dài hơn 250 ký tự lẻ
Calm Storm

10

Bạn có thể thực hiện các thao tác sau trong PowerShell, nếu bạn đang dùng Windows Vista +:

rm C:\path\to\delete -r -f[orce]

6
Windows 10 nói -flà mơ hồ. Nhưng bạn có thể chạyrm -r -force <path>
BrunoLM

6

Đối với tôi, những gì làm việc là

del /s dir

Bạn có thể thêm /qđể vô hiệu hóa xác nhận. Tôi chưa bao giờ quản lý để rmdirlàm việc (trên XP)


6
Có lẽ bạn nên ngừng sử dụng XP, nó không còn được hỗ trợ nữa ...
Eric Wilson

3
Đối với tôi, việc này sẽ xóa tất cả các tệp theo cách đệ quy, nhưng không tự xóa các thư mục - dircũng không bị xóa.
sergiol

2

Nếu bạn có một con đường thực sự thực sự dài, (như tôi đã làm vì lỗi chương trình java), thậm chí robocopy không thể làm điều đó. Nó đi xuống khoảng 30 giây vào con đường của tôi và sau đó bị treo.

Giải pháp của tôi: nếu bạn có thể di chuyển toàn bộ đường dẫn vấn đề từ thư mục này sang thư mục khác thì bạn có thể cắt bỏ đệ quy và lặp lại một số cầu thang thư mục từ đầu.

Batch này chơi pingpong giữa hai thư mục leer và leer2 và cắt đi 8 'thư viện' mỗi lần. Nếu đường dẫn của bạn chứa các tệp, bạn phải thêm các lệnh khác để xóa chúng.

recurdel.cmd
:loop
move c:\leer\libraries\libraries\libraries\libraries\libraries\libraries\libraries\libraries c:\leer2
rd /S /Q c:\leer\libraries
move c:\leer2\libraries\libraries\libraries\libraries\libraries\libraries\libraries\libraries c:\leer
rd /S /Q c:\leer2\libraries
GOTO loop

2

Từ CMD Chỉ cần chạy RD / s C: \ path \ to \ xóa Nhấn Y đến dấu nhắc

/ s đảm bảo tất cả các thư mục con cũng bị xóa.

Tham khảo Chạy giúp RD từ dòng lệnh


2
Cảm ơn câu trả lời của bạn, nhưng thông tin này đã có trong câu trả lời được chấp nhận. ( rdrmdirgiống nhau.) Có lẽ nó sẽ phù hợp như một nhận xét ở đó.
Ben N

0

Điều này sẽ xóa "thư mục của tôi" mà không cần nhắc:

rd /s /q "C:\Users\gourav.g\AppData\Roaming\my folder"
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.