Xóa tệp hoặc thư mục đệ quy trên Windows CMD


135

Làm cách nào để xóa các tệp hoặc thư mục đệ quy trên Windows khỏi dòng lệnh?

Tôi đã tìm thấy giải pháp này trong đó đường dẫn chúng ta lái trên dòng lệnh và chạy lệnh này.

Tôi đã đưa ra một ví dụ với thư mục mở rộng tệp .svn:

for /r %R in (.svn) do if exist %R (rd /s /q "%R")

Bạn có ý nghĩa gì bởi "nơi chúng ta lái xe trên" ?
Peter Mortensen

Câu trả lời:


129

Vui lòng thực hiện các bước sau:

  1. Mở dấu nhắc lệnh
  2. Thay đổi thư mục thành đường dẫn cần thiết
  3. Đưa ra lệnh sau

    del /S *.svn
    

4
Không làm việc cho tôi, nó chỉ xóa các tệp trong thư mục hiện tại.
delphirules

118

Các câu trả lời khác không hiệu quả với tôi, nhưng điều này đã làm:

del /s /q *.svn
rmdir /s /q *.svn

/ q vô hiệu hóa Có / Không nhắc

/ s có nghĩa là xóa (các) tệp khỏi tất cả các thư mục con.


Tôi nghĩ rằng nhu cầu của tôi giống như những gì bạn đang cố gắng thực hiện - Tôi đang cố xóa tất cả các thư mục .svn trong một thư mục dự án và tất cả các thư mục con. Trên Windows 2012, câu trả lời này không hiệu quả với tôi. Nó đang xóa thư mục .svn trong thư mục hiện tại, nhưng không xóa bất kỳ thư mục con nào.
Jim

42

Bạn có thể sử dụng điều này trong batkịch bản:

rd /s /q "c:\folder a"

Bây giờ, chỉ cần thay đổi c:\folder avị trí thư mục của bạn. Báo giá chỉ cần thiết khi tên thư mục của bạn chứa khoảng trắng.


Lệnh này không hoạt động và ném lỗi như bên dưới D: \> rd / s / q "D: \ Root a" Hệ thống không thể tìm thấy tệp được chỉ định.
abhayk

5
Trừ khi thư mục của bạn thực sự có một space atên, sau đó bỏ qua phần đó.
Jesse Chisholm

22
RMDIR path_to_folder /S

Ví dụ. RMDIR "C:\tmp" /S

Lưu ý rằng bạn sẽ được nhắc nếu bạn thực sự sẽ xóa thư mục "C: \ tmp". Kết hợp nó với / Q switch sẽ loại bỏ thư mục một cách im lặng (ví dụ RMDIR "C:\tmp" /S /Q)


8

Để xóa tệp, tôi đã viết theo tệp bó đơn giản đã xóa tất cả .pdf một cách đệ quy:

del /s /q "\\ad1pfrtg001\AppDev\ResultLogs\*.pdf"
del /s /q "\\ad1pfrtg001\Project\AppData\*.pdf"

Ngay cả đối với thư mục cục bộ, chúng ta có thể sử dụng nó như:

del /s /q "C:\Project\*.pdf"

Điều tương tự có thể được áp dụng để xóa thư mục trong đó chúng ta chỉ cần thay đổi del với rmdir .


4

Nếu bạn muốn xóa một phần mở rộng cụ thể theo cách đệ quy, hãy sử dụng:

For /R "C:\Users\Desktop\saleh" %G IN (*.ppt) do del "%G"

3

Bạn cũng có thể làm:

del /s /p *.{your extension here}

Các /psẽ nhắc bạn cho mỗi tập tin được tìm thấy, nếu bạn đang lo lắng về việc xóa một cái gì đó bạn không nên.


2

Sử dụng Windows rmdir lệnh

Đó là, rmdir / S / Q C: \ Temp

Tôi cũng đang sử dụng những cái dưới đây trong một số năm nay, hoàn hảo.

Kiểm tra các tùy chọn khác với: forfiles /?

Xóa đệ quy SQM / từ xa trong thư mục windows

forfiles /p %SYSTEMROOT%\system32\LogFiles /s /m *.* /d -1 /c "cmd /c del @file"

Xóa các tệp TMP của windows theo cách đệ quy

forfiles /p %SYSTEMROOT%\Temp /s /m *.* /d -1 /c "cmd /c del @file"

Xóa các tệp và thư mục TEMP của người dùng theo cách đệ quy

forfiles /p %TMP% /s /m *.* /d -1 /c "cmd /c del @file"


2

Để xóa hoàn toàn một thư mục bằng các lệnh gốc và nhận nhật ký về những gì đã được thực hiện.

Đây là một cách khác thường để làm điều đó:

giả sử chúng ta muốn xóa thư mục d: \ temp

mkdir d:\empty
robocopy /mir d:\empty d:\temp
rmdir d:\empty

Đây là một giải pháp rất thông minh đã giải quyết vấn đề của tôi. Tôi đã sử dụng robocopy để sao chép thư mục AppData của mình, không nghĩ về Giao diện tự tham chiếu. Đây là cách duy nhất tôi có thể loại bỏ tất cả các tệp ẩn theo cách đệ quy. Không bao giờ quên / xj!
Chris Larabell

0

Đối với các tập tin ẩn tôi phải sử dụng như sau:

DEL /S /Q /A:H Thumbs.db

Đã lỗi thời. Windows XP không được hỗ trợ bởi microsoft co.
Mesalcode

Tôi đã phải sử dụng điều này để xóa các tệp .dcm còn sót lại từ khôi phục sao lưu (windows 10)
Gerald Murphy

0
dir /b %temp% >temp.list
for /f "delims=" %%a in (temp.list) do call rundll32.exe advpack.dll,DelNodeRunDLL32 "%temp%\%%a"
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.