คำสั่งเพื่อลบไฟล์ยกเว้นไฟล์ที่ขึ้นต้นด้วยคำนำหน้าจากไดเร็กทอรีอื่น


2

สมมติว่าตอนนี้ฉันอยู่ใน c: \ test \ user แต่ฉันต้องลบไฟล์บางไฟล์ในไดเรกทอรีอื่นพูด C: \ testb \ data \ diff ไฟล์ที่ฉันต้องการลบคือไฟล์ที่ไม่ได้ขึ้นต้นด้วย AD_ เป็นไปได้ไหมที่จะทำสิ่งนี้ในข้อความสั่งบรรทัดคำสั่งเดียว?

คำตอบ:


1

คำสั่ง MS DOS ลบไฟล์ยกเว้นไฟล์ที่ขึ้นต้นด้วยคำนำหน้าจากไดเรกทอรีอื่น

ไฟล์ที่ฉันต้องการลบคือไฟล์ที่ไม่ได้ขึ้นต้นด้วย AD_ เป็นไปได้ไหมที่จะทำสิ่งนี้ในข้อความสั่งบรรทัดคำสั่งเดียว?

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

เพียงแค่เรียกใช้คำสั่งด้านล่างจากบรรทัดคำสั่งด้วยการคัดลอกและวาง สิ่งนี้ใช้FOR / Fลูปที่มีDIRไปยังคำสั่งFINDSTRของรูปแบบที่จะจับคู่สำหรับการยกเว้น

FOR /F "TOKENS=*" %A IN ('DIR /A-D /B "C:\testb\data\diff" ^| FINDSTR /I /V "AD_"') DO DEL /Q /F "C:\testb\data\diff\%~A"

หากคุณต้องการตั้งค่าไดเรกทอรีของคุณอย่างชัดเจนเพื่อลบออกจากตัวแปรเช่นเดียวกับรูปแบบไฟล์ที่จะแยกออกด้านล่างเป็นตัวอย่างของการทำเช่นนี้

SET DelDir=C:\testb\data\diff
SET DelPattern=AD_

FOR /F "TOKENS=*" %A IN ('DIR /A-D /B "%DelDir%" ^| FINDSTR /I /V "%DelPattern%"') DO DEL /Q /F "%DelDir%\%~A"
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.