วิธีการลบไฟล์ที่เก่ากว่าใน Windows เป็นระยะ?


2

ฉันต้องการสร้างกระบวนการตามกำหนดเวลาใน Windows (โดยเฉพาะ Windows 7) ว่าทุก ๆ 3 ชั่วโมงจะลบไฟล์ทั้งหมดในโฟลเดอร์ทั้งหมดที่เก่ากว่า 24 ชั่วโมง (เช่น Unix find's -mtime +1 ) โดยทั่วไปเทียบเท่า Windows ที่มีการกำหนดค่านี้ใน Unix cron ของฉัน:

find $TRANSITDIR -mtime +1 -exec rm -rf {} \;

แม้ว่าฉันดูเหมือนจะได้พบว่า cron เทียบเท่า Windows เป็น จัดตารางเวลา ฉันแค่ไม่รู้คำสั่งของ Windows ที่จะทำเช่นนั้น

ใครบ้างมีสคริปต์ตัวกำหนดตารางเวลาพร้อมไป?


ที่เกี่ยวข้อง: superuser.com/q/434626/108226 . โซลูชันที่ฉันโพสต์ (โดยใช้ PowerShell) สามารถปรับเปลี่ยนได้อย่างง่ายดายเพื่อทำงานบนโฟลเดอร์หรือไดรฟ์ไม่เพียงแค่ถังรีไซเคิลและสามารถกำหนดเวลาได้โดยใช้ GUI ตัวกำหนดเวลางานหรือบรรทัดคำสั่ง schtasks.exe.
Indrek

คำตอบ:


1

สร้างแบตช์ไฟล์ที่มีเนื้อหาดังต่อไปนี้:

REM Remove files older than 1 day
forfiles /p %1 /s /m * /c "cmd /c del @path /q" /d -1

จากนั้นเปิด Windows Task Scheduler สร้างงานพื้นฐานเพื่อเรียกใช้โปรแกรมและเป็นอาร์กิวเมนต์ให้เส้นทางไปยังโฟลเดอร์ในเครื่องหมายคำพูด

คำอธิบายของคำสั่ง

REM คือความคิดเห็น

forfiles จะเรียกใช้คำสั่งสำหรับแต่ละไฟล์ /p %1 กำหนดเส้นทางไฟล์ที่อยู่ใน ( %1 หมายถึงค่าของอาร์กิวเมนต์บรรทัดคำสั่งแรกที่ส่งผ่านไปยังสคริปต์) /s ซ้ำ (ไปที่โฟลเดอร์ย่อย) /m *.* เป็นมาสก์ชื่อไฟล์ /c "cmd /c del @path" ระบุสิ่งที่คำสั่งที่จะดำเนินการ /d -1 หมายถึงไฟล์ที่เก่ากว่า 1 วัน

ในกรณีนี้, cmd /c del @pat /qh สร้างเซสชั่นใหม่และทำงาน del (ลบไฟล์) บน @pathเส้นทางของไฟล์สำหรับแต่ละไฟล์ที่ทำซ้ำโดย forfiles. /q สำหรับโหมดเงียบดังนั้นมัน ไม่ขอให้คุณยืนยันไดเรกทอรี .

การทดสอบ

แทนที่ del กับ echo. การดำเนินการนี้จะพิมพ์แต่ละไฟล์ที่จะถูกลบทิ้งแทนที่จะลบทิ้งจริงๆ


0

ไม่ใช่สิ่งที่คุณต้องการทำ แต่ฉันจะบอกว่าการล้างอัตโนมัติของเครื่องทำความสะอาดมีค่าควรพิจารณาเมื่อพูดถึงหน้าต่าง ฉันใช้มันเพื่อค้นหาและทำความสะอาดไฟล์ tmp สำหรับเครื่อง windows

มันมี CLI จำกัด http://www.piriform.com/docs/ccleaner/advanced-usage/command-line-parameters#Command-line_parameters_for_CCleaner_

นอกจากนี้หากคุณเป็นผู้ชายเชลล์และคุณบอกว่าคุณต้องการมันสำหรับ W7 คุณสามารถลองใช้ PowerShell:

http://www.google.es/search?q=powershell+remove+x+day+older+files

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