ฉันจะลบไฟล์หรือโฟลเดอร์แบบวนซ้ำบน Windows จากบรรทัดคำสั่งได้อย่างไร
ฉันพบวิธีแก้ปัญหานี้โดยที่พา ธ เราขับบนบรรทัดคำสั่งและรันคำสั่งนี้
ฉันได้ให้ตัวอย่างกับโฟลเดอร์นามสกุลไฟล์. svn:
for /r %R in (.svn) do if exist %R (rd /s /q "%R")
ฉันจะลบไฟล์หรือโฟลเดอร์แบบวนซ้ำบน Windows จากบรรทัดคำสั่งได้อย่างไร
ฉันพบวิธีแก้ปัญหานี้โดยที่พา ธ เราขับบนบรรทัดคำสั่งและรันคำสั่งนี้
ฉันได้ให้ตัวอย่างกับโฟลเดอร์นามสกุลไฟล์. svn:
for /r %R in (.svn) do if exist %R (rd /s /q "%R")
คำตอบ:
โปรดดำเนินการตามขั้นตอนต่อไปนี้:
ให้คำสั่งต่อไปนี้
del /S *.svn
คำตอบอื่น ๆ ไม่ได้ผลสำหรับฉัน แต่สิ่งนี้ทำได้:
del /s /q *.svn
rmdir /s /q *.svn
/ qปิดใช้งานใช่ / ไม่ใช่พร้อมต์
/ sหมายถึงลบไฟล์ออกจากไดเร็กทอรีย่อยทั้งหมด
คุณสามารถใช้สิ่งนี้ในbat
สคริปต์:
rd /s /q "c:\folder a"
ตอนนี้เพียงแค่เปลี่ยนตำแหน่งc:\folder a
โฟลเดอร์ของคุณ จำเป็นต้องใช้ใบเสนอราคาเมื่อชื่อโฟลเดอร์ของคุณมีช่องว่างเท่านั้น
space
a
อยู่จริงๆให้ปล่อยส่วนนั้นออกไป
RMDIR path_to_folder /S
เช่น RMDIR "C:\tmp" /S
โปรดทราบว่าคุณจะได้รับแจ้งหากคุณต้องการลบโฟลเดอร์ "C: \ tmp" จริงๆ การรวมเข้ากับสวิตช์ / Q จะเป็นการลบโฟลเดอร์โดยไม่โต้ตอบ (เช่นRMDIR "C:\tmp" /S /Q
)
สำหรับการลบไฟล์ฉันเขียนตามไฟล์แบตช์อย่างง่ายซึ่งลบ. pdf ทั้งหมดซ้ำ ๆ :
del /s /q "\\ad1pfrtg001\AppDev\ResultLogs\*.pdf"
del /s /q "\\ad1pfrtg001\Project\AppData\*.pdf"
แม้แต่ไดเรกทอรีท้องถิ่นเราสามารถใช้เป็น:
del /s /q "C:\Project\*.pdf"
เช่นเดียวกับที่สามารถนำมาใช้สำหรับการลบไดเรกทอรีที่เราก็ต้องเปลี่ยนเดลกับrmdir
หากคุณต้องการลบส่วนขยายที่ระบุซ้ำ ๆ ให้ใช้สิ่งนี้:
For /R "C:\Users\Desktop\saleh" %G IN (*.ppt) do del "%G"
คุณยังสามารถทำได้:
del /s /p *.{your extension here}
ระบบ/p
จะแจ้งให้คุณทราบสำหรับแต่ละไฟล์ที่พบหากคุณกังวลเกี่ยวกับการลบสิ่งที่ไม่ควรทำ
หลังจากโพสต์บล็อกฉันจะใช้ Windows PowerShell เพื่อลบไฟล์. TMP ทั้งหมดบนไดรฟ์ได้อย่างไร คุณสามารถใช้สิ่งนี้เพื่อลบ. tmp ทั้งหมดเช่นจากโฟลเดอร์และโฟลเดอร์ย่อยทั้งหมดใน PowerShell:
get-childitem [your path/ or leave empty for current path] -include
*.tmp -recurse | foreach ($_) {remove-item $_.fullname}
นั่นคือ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"
สำหรับการล้างโฟลเดอร์อย่างสมบูรณ์ด้วยคำสั่งเนทีฟและรับบันทึกสิ่งที่ทำ
นี่เป็นวิธีที่ผิดปกติในการทำ:
สมมติว่าเราต้องการล้าง d: \ temp dir
mkdir d:\empty
robocopy /mir d:\empty d:\temp
rmdir d:\empty
สำหรับไฟล์ที่ซ่อนฉันต้องใช้สิ่งต่อไปนี้:
DEL /S /Q /A:H Thumbs.db
dir /b %temp% >temp.list
for /f "delims=" %%a in (temp.list) do call rundll32.exe advpack.dll,DelNodeRunDLL32 "%temp%\%%a"