ลบไฟล์หรือโฟลเดอร์ซ้ำบน Windows CMD


139

ฉันจะลบไฟล์หรือโฟลเดอร์แบบวนซ้ำบน Windows จากบรรทัดคำสั่งได้อย่างไร

ฉันพบวิธีแก้ปัญหานี้โดยที่พา ธ เราขับบนบรรทัดคำสั่งและรันคำสั่งนี้

ฉันได้ให้ตัวอย่างกับโฟลเดอร์นามสกุลไฟล์. svn:

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

"เส้นทางที่เราขับบน"หมายความว่าอย่างไร
Peter Mortensen

คำตอบ:


132

โปรดดำเนินการตามขั้นตอนต่อไปนี้:

  1. เปิดพรอมต์คำสั่ง
  2. เปลี่ยนไดเร็กทอรีเป็นพา ธ ที่ต้องการ
  3. ให้คำสั่งต่อไปนี้

    del /S *.svn
    

4
ไม่ได้ผลสำหรับฉันมันจะลบเฉพาะไฟล์ในไดเร็กทอรีปัจจุบัน
delphirules

126

คำตอบอื่น ๆ ไม่ได้ผลสำหรับฉัน แต่สิ่งนี้ทำได้:

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

/ qปิดใช้งานใช่ / ไม่ใช่พร้อมต์

/ sหมายถึงลบไฟล์ออกจากไดเร็กทอรีย่อยทั้งหมด


ฉันคิดว่าความต้องการของฉันเหมือนกับสิ่งที่คุณพยายามทำ - ฉันกำลังพยายามลบโฟลเดอร์. svn ทั้งหมดในไดเร็กทอรีโปรเจ็กต์และไดเร็กทอรีย่อยทั้งหมด ใน Windows 2012 คำตอบนี้ใช้ไม่ได้กับฉัน กำลังลบโฟลเดอร์. svn ในไดเร็กทอรีปัจจุบัน แต่ไม่ใช่จากไดเร็กทอรีย่อยใด ๆ
จิม

46

คุณสามารถใช้สิ่งนี้ในbatสคริปต์:

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

ตอนนี้เพียงแค่เปลี่ยนตำแหน่งc:\folder aโฟลเดอร์ของคุณ จำเป็นต้องใช้ใบเสนอราคาเมื่อชื่อโฟลเดอร์ของคุณมีช่องว่างเท่านั้น


คำสั่งนี้ไม่ทำงานและเกิดข้อผิดพลาดด้านล่างD: \> rd / s / q "D: \ Root a" ระบบไม่พบไฟล์ที่ระบุ
abhayk

6
เว้นแต่ว่าไดเร็กทอรีของคุณจะมีชื่อspace aอยู่จริงๆให้ปล่อยส่วนนั้นออกไป
Jesse Chisholm

22
RMDIR path_to_folder /S

เช่น RMDIR "C:\tmp" /S

โปรดทราบว่าคุณจะได้รับแจ้งหากคุณต้องการลบโฟลเดอร์ "C: \ tmp" จริงๆ การรวมเข้ากับสวิตช์ / Q จะเป็นการลบโฟลเดอร์โดยไม่โต้ตอบ (เช่นRMDIR "C:\tmp" /S /Q)


8

สำหรับการลบไฟล์ฉันเขียนตามไฟล์แบตช์อย่างง่ายซึ่งลบ. pdf ทั้งหมดซ้ำ ๆ :

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

แม้แต่ไดเรกทอรีท้องถิ่นเราสามารถใช้เป็น:

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

เช่นเดียวกับที่สามารถนำมาใช้สำหรับการลบไดเรกทอรีที่เราก็ต้องเปลี่ยนเดลกับrmdir



3

คุณยังสามารถทำได้:

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

ระบบ/pจะแจ้งให้คุณทราบสำหรับแต่ละไฟล์ที่พบหากคุณกังวลเกี่ยวกับการลบสิ่งที่ไม่ควรทำ


3

หลังจากโพสต์บล็อกฉันจะใช้ Windows PowerShell เพื่อลบไฟล์. TMP ทั้งหมดบนไดรฟ์ได้อย่างไร คุณสามารถใช้สิ่งนี้เพื่อลบ. tmp ทั้งหมดเช่นจากโฟลเดอร์และโฟลเดอร์ย่อยทั้งหมดใน PowerShell:

get-childitem [your path/ or leave empty for current path] -include
*.tmp -recurse | foreach ($_) {remove-item $_.fullname}

2

ใช้คำสั่งWindows rmdir

นั่นคือrmdir / S / Q C: \ Temp

ฉันยังใช้สิ่งที่อยู่ด้านล่างนี้มาหลายปีแล้วอย่างไม่มีที่ติ

ตรวจสอบตัวเลือกอื่น ๆ ด้วย: forfiles /?

ลบ SQM / Telemetry ในโฟลเดอร์ windows แบบวนซ้ำ

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

ลบไฟล์ Windows TMP แบบวนซ้ำ

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

ลบไฟล์และโฟลเดอร์ TEMP ของผู้ใช้แบบวนซ้ำ

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

2

สำหรับการล้างโฟลเดอร์อย่างสมบูรณ์ด้วยคำสั่งเนทีฟและรับบันทึกสิ่งที่ทำ

นี่เป็นวิธีที่ผิดปกติในการทำ:

สมมติว่าเราต้องการล้าง d: \ temp dir

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

นี่เป็นวิธีแก้ปัญหาที่ชาญฉลาดมากที่ช่วยแก้ปัญหาของฉัน ฉันใช้ robocopy เพื่อคัดลอกไดเรกทอรี AppData ของฉันโดยไม่คิดเกี่ยวกับ Junction ที่อ้างอิงตัวเอง นี่เป็นวิธีเดียวที่ฉันสามารถลบไฟล์ที่ซ่อนทั้งหมดแบบวนซ้ำได้ อย่าลืม / xj!
Chris Larabell

0

สำหรับไฟล์ที่ซ่อนฉันต้องใช้สิ่งต่อไปนี้:

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

เก่า. Windows XP ไม่รองรับความยาวนานโดย microsoft co
Mesalcode

ฉันต้องใช้สิ่งนี้เพื่อลบไฟล์. dcm ที่เหลือจากการกู้คืนข้อมูลสำรอง (windows 10)
Gerald Murphy

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.