ฉันมีโฟลเดอร์ที่มีไฟล์ 2K + อยู่ในนั้นฉันจำเป็นต้องลบประมาณ 200 ฉันมีไฟล์ txt ที่มีชื่อไฟล์ทั้งหมดที่ฉันต้องการลบออกจากรายการในรายการฉันจะลบไฟล์เฉพาะจากโฟลเดอร์โดยใช้รายการได้อย่างไร (ระบบปฏิบัติการคือ windows 7)
ฉันมีโฟลเดอร์ที่มีไฟล์ 2K + อยู่ในนั้นฉันจำเป็นต้องลบประมาณ 200 ฉันมีไฟล์ txt ที่มีชื่อไฟล์ทั้งหมดที่ฉันต้องการลบออกจากรายการในรายการฉันจะลบไฟล์เฉพาะจากโฟลเดอร์โดยใช้รายการได้อย่างไร (ระบบปฏิบัติการคือ windows 7)
คำตอบ:
วิธีง่ายๆคือคัดลอกไฟล์ txt ไปยังไฟล์ที่เรียกว่าmydel.bat
ในไดเรกทอรีของไฟล์ที่จะลบ การใช้โปรแกรมแก้ไขเช่น Microsoft Word แก้ไขไฟล์นี้ ทำการแทนที่แบบโกลบอลบน Newline ตามปกติ^p
ใน Word space/f^pdelspace
แทนที่ด้วย สิ่งนี้จะเปลี่ยนไป
File1.bin
File20.bin
File21.bin
ถึง (ด้วย/f
สำหรับ "บังคับลบไฟล์แบบอ่านอย่างเดียว"):
File1.bin /f
del File20.bin /f
del File21.bin /f
del
แก้ไขบรรทัดกำปั้นเพื่อเพิ่มdel
ช่องว่างและลบบรรทัดสุดท้าย
เรียกใช้ชุดคำสั่ง
/f
สำหรับ "บังคับไฟล์อ่านอย่างเดียวลบ" /y
แทน
พิมพ์สิ่งนี้บนบรรทัดคำสั่งโดยแทนที่ไฟล์ของคุณสำหรับfiles_to_delete.txt
:
for /f %i in (files_to_delete.txt) do del %i
รุ่นที่เหมาะสำหรับการรวมไว้ใน.cmd
ไฟล์ (สอง %%) และสามารถจัดการช่องว่างในชื่อไฟล์:
for /f "delims=" %%f in (files_to_delete.txt) do del "%%f"
/f
ธง
ใช้ PowerShell:
Get-Content c:\path\to\list.txt | Remove-Item
>
เพื่อทำงานนี้ คือGet-Content c:\path\to\list.txt > Remove-Item
... ผมมีเส้นทาง UNC list.txt
เต็มรูปแบบในของฉัน หวังว่านี่จะช่วยได้
>
และมันเพิ่งสร้างไฟล์ให้ฉันแทนที่จะลบสิ่งต่างๆ
ฉันคิดว่ามันสามารถทำได้ด้วย powershell
รู้Perlฉันมักจะใช้มันสำหรับสิ่งนี้
perl -l -n -e "unlink" filenames.txt
วิธีแรกทำงานหลังจากการเปลี่ยนแปลงบางอย่าง:
คัดลอกชื่อไฟล์ทั้งหมดที่มีนามสกุลซึ่งจะต้องถูกลบหลังจากเพิ่มdel
ที่จุดเริ่มต้นเช่น
del File1.bin
del File20.bin
del File21.bin
บันทึกไฟล์เช่นเดียวกับxyz.bat
ในโฟลเดอร์เดียวกัน
del
ด้วยตนเองเหมือนที่คุณกำลังเสนอในขณะที่โซลูชันถูกโพสต์แล้วโดยอัตโนมัติ นอกเหนือจาก: เครื่องมือแก้ไขที่มีสติจะสนับสนุนการค้นหาและแทนที่รวมถึงการสิ้นสุดบรรทัด (หรือการเริ่มบรรทัดโดยใช้นิพจน์ทั่วไป), แมโครหรือสำหรับการแก้ไขโหมดบล็อกหรือคอลัมน์ (มักเริ่มต้นด้วยการกด Option หรือ Alt ค้างไว้ บล็อกหลังจากที่หนึ่งสามารถพิมพ์หลายบรรทัดในครั้งเดียว)