ลบไฟล์จากโฟลเดอร์หนึ่งหากไฟล์ที่มีชื่อคล้ายกันไม่มีอยู่ในโฟลเดอร์อื่น


8

ฉันต้องการลบไฟล์ออกจากโฟลเดอร์ A หากไฟล์ที่มีชื่อเหมือนกัน แต่ไม่มีประเภทไฟล์ที่แตกต่างกันในโฟลเดอร์ B

ตัวอย่างเช่น:

FOLDER A
file1.gif
file2.gif
file3.gif
file4.gif
file5.gif
file6.gif

FOLDER B
file2.jpg
file4.jpg
file6.jpg

แฟ้มชุดหรือซอฟต์แวร์ที่จะเปรียบเทียบทั้งสองโฟลเดอร์และลบfile1.gif, file3.gifและfile5.gifจากโฟลเดอร์ A.

คำตอบ:


7

คุณสามารถทำได้โดยตรงจากบรรทัดคำสั่ง:
for %F in ("A\*.gif") do @if not exist "B\%~nF.jpg" echo del "%F"
ตัวอย่างข้างต้นเพียงพิมพ์คำสั่งเพื่อให้คุณสามารถตรวจสอบว่ามันจะทำในสิ่งที่คุณต้องการ หลังจากที่คุณกำลังตรวจสอบว่าก็ ok ลบและมันจะทำงานได้จริงecho แน่นอนคุณอาจใส่ชุดนี้หากคุณต้องการแทนที่ด้วยและลบ(และอาจเพิ่มแทน)delete
%%%@@echo off


สิ่งนี้ทำงานได้อย่างสมบูรณ์แบบ - ฉันหวังว่าฉันจะลงคะแนนได้สองครั้ง ขอบคุณมาก.
ajcw

สามารถใช้งานได้หากคุณต้องการลบไฟล์จาก A ที่มีอยู่ใน B:for %F in ("A\*.gif") do @if exist "B\%~nF.jpg" echo del "%F"
PaloDravecky
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.