Câu hỏi Làm thế nào để đệ quy xóa thư mục từ dòng lệnh trong cửa sổ?


Cửa sổ tương đương với rm -r [directory-name]?


214
2017-08-23 19:29


gốc




Các câu trả lời:


deltree nế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

Thao tác này sẽ xóa thư mục C:\test, với lời nhắc:

rmdir c:\test /s

Điều này thực hiện tương tự, không có lời nhắc:

rmdir c:\test /s /q

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

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

312
2017-08-23 19:30



@ FarmBoy, xin lỗi, có vẻ như ký ức của tôi đã đi quá xa. Tôi đã cập nhật câu trả lời cho Windows XP và mới hơn. - Colin Pickard
Vâng deltree là một lệnh DOS cũ. Nó đã được gỡ bỏ trong XP và thay thế bằng rmdir /s - heavyd
Cờ / s là gì? - Mike R
Đối với 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
@MikeR, nó có thể phù hợp với "thư mục con" hoặc một cái gì đó. findstr có cùng một tham số, điều này có ý nghĩa hơn với trường hợp của nó, vì vậy có lẽ chúng chỉ giống nhau cho tính nhất quán. - Sam


Nếu bạn muốn xóa một cấu trúc thư mục dài và phức tạp từ dấu nhắc lệnh mà RmDir sẽ không chạm và thậm chí không thám hiểm có thể hiển thị, tôi đã tìm thấy robocopy có thể rất hiệu quả trong việc loại bỏ cấu trúc. Trong ví dụ dưới đây, chúng ta có một cấu trúc khổng lồ bên trong quản trị viên thư mục, cấu trúc sâu đến mức không cái gì có thể loại bỏ nó. Chúng tôi tạo một thư mục trống mới được gọi là (kỳ lạ đủ!) "Thư mục mới". Sau đó, chúng tôi sử dụng lệnh robocopy, thông báo rằng 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ẽ xóa 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 sẽ không vừa trong cửa sổ nhắc lệnh Screen Buffer, nhưng Robocopy sẽ đi qua cấu trúc và loại bỏ bất kỳ tập tin và thư mục phụ nào (tức là bất cứ thứ gì không nằm trong thư mục trống mới, đó là mọi thứ ).


54
2017-08-09 23:13



Đâ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ự trống - Calm Storm


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

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

9
2017-08-22 16:51



Windows 10 nói -f là mơ hồ. Nhưng bạn có thể chạy rm -r -force <path> - BrunoLM


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

del /s dir

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


4
2018-05-17 07:42



Có lẽ bạn nên ngừng sử dụng XP, nó không được hỗ trợ nữa ... - Eric Wilson
Đối với tôi, thao tác này sẽ xóa tất cả các tệp một cách đệ quy, nhưng không tự xóa các thư mục - dircũng không bị xóa. - sergiol


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ó rơ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ừ một thư mục này sang thư mục khác thì bạn có thể cắt bỏ một cách đệ quy và lặp đi lặp lại một số cầu thang thư mục từ trên cùng.

Batch này chơi pingpong giữa hai thư mục leer và leer2 và cắt bỏ 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
2018-03-05 08:37





Từ CMD Chỉ cần chạy RD / s C: \ path \ to \ delete Nhấn Y để nhắc

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

Tài liệu tham khảo Chạy giúp RD từ dòng lệnh


2
2018-01-22 06:44



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. (rd và rmdir là như nhau.) Có lẽ nó sẽ phù hợp như một bình luận ở đó. - Ben N


Thao tác 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"

0
2017-07-04 07:09