|
สำหรับการใช้งานอินเตอร์เน็ตทุกวันนี้ การเข้าเยี่ยมชมเว็บไซต์ต่าง ๆ และ การดาน์วโหลดข้อมูล หรือ โปรแกรมมาติดตั้งใช้งานที่เครื่องคอมพิวเตอร์ส่วนบุคคล เป็นเรื่องปกติและสามารถดำเนินการได้อย่างง่ายดาย ประเด็นคือเมื่อมีจำนวนข้อมูลที่ดาน์วโหลดเพิ่มขึ้นเรื่อย ๆ วิธีการที่จะใช้ลบข้อมูลเหล่านี้เมื่อไม่ได้ใช้งานแล้ว ควรจะเลือกวิธีการใดดีจึงจะสะดวก และหลีกเลี่ยงวิธีการแบบ Manual. วันนี้ BBTECH ขอเสนอวิธีตั้งเวลาลบข้อมูลแบบอัตโนมัติ ด้วยเครื่องมือ Task Scheduler ครับ ในตัวอย่างนี้เป็นการตั้งเวลาลบข้อมูลในโฟลเดอร์ Download แต่ในความเป็นจริงท่านสามารถนำไปประยุกต์ใช้กับโฟลเดอร์อื่น ๆ ได้ตามความเหมาะสมครับ |
|
ขั้นแรกให้ท่านสร้าง Batch file ขึ้นมาก่อน เสร็จแล้ว บันทึก ไว้ในโฟลเดอร์ใดก็ได้ ตามสะดวก รูปแบบคำสั่ง ลบไฟล์ที่จัดเก็บในโฟลเดอร์ Download เกิน 30 วัน
|
forfiles /p "C:\Users\YourUserName\Downloads" /s /m *.* /c "cmd /c Del @path" /d –30 |
|
|
ตำแหน่งพื้นฐานของโฟลเดอร์ Download จะอยู่ที่ "C:\Users\YourUserName\Downloads" |
|
ส่วนวิธีการเรียกใช้งาน Batch file ที่เพิ่งสร้างขึ้น จะใช้งานผ่านเครื่องมือ Task Scheduler เนื่องจากเครื่องมือนี้มีออปชั่นในการตั้งเวลาในการทำงานได้ครับ เริ่มต้นให้ท่านเลือก Create a Basic Task ตามด้วยการกำหนดชื่อให้กับ Task ของท่านเอง ในตัวอย่างนี้กำหนดชื่อเป็น Delete files older then 30 Day เสร็จแล้วคลิก Next > |
|
เมื่อมาถึงหน้าต่าง Task Trigger ให้ท่านเลือกเป็น Weekly เสร็จแล้วคลิก Next > |
|
หน้าต่างต่อมาที่ช่อง Recur every กำหนดเป็น 4 weeks on และในส่วนของวันกำหนดเป็น Friday ความหมายคือให้โปรแกรมรัน Task นี้ ทุก ๆ 4 สัปดาห์ และกำหนดวันเป็นวันศุกร์ เสร็จแล้วคลิก Next > |
|
หน้าต่างต่อมา ให้ท่านเลือก Start a program เสร็จแล้วคลิก Next > |
|
หน้าต่างต่อมาที่ช่อง Program/script ให้กดปุ่ม Browse… ไปยังตำแหน่งที่ท่านเก็บ Batch file ไว้ในขั้นตอนแรก เสร็จแล้วคลิก Next > |
|
เมือดำเนินการมาถึง หน้าต่าง Summary ให้ท่านคลิก Finish เป็นอันเสร็จเรียบร้อยครับ |
|
BBTECH l The Cycle Of Technology
BBTECH l The Cycle Of Technology
ถ้าต้องการกำหนดเป็นวันต้องทำอย่างไรครับ ผมลองปรับดูมันไม่ลบอะครับ ไม่ทราบว่ามันจะลบทุกไฟล์ที่อยู่ในโพลเดอร์หรือป่าวครับ ผมทดสอบให้มันลบ ไฟล์ .txt และ .pdf ครับ
มันจะลบทุกไฟล์ที่ เก่ากว่าวันที่เรากำหนด ใช้มั้ยครับ อยากได้ วิธีนำไปประยุกต์ใช้ครับ
ขอบคุณครับ
สวัสดีครับ เงื่อนไข @path" /d –30 ระบุให้ลบไฟล์ ที่มี Modify date ย้อนหลังจากวันที่รัน Batch ไฟล์ เป็นจำนวน 30 วัน ไม่แนใจไฟล์ที่คุณใช้ในการทดสอบ Modify date เป็นวันที่เท่าใดครับ เกิน 30 วันจากวันที่รัน Batch ไฟล์หรือเปล่าครับ ?
สำหรับคำถามตั้งเป็นวันที่ได้หรือไม่ ตอบว่าได้ครับ เหมือนการตั้งนาฬิกาปลุก ให้ Batch files ทำงานครับ
ล้ะ เรา สามารถ ตั้งให้ ลบไพล์ อย่างเช่น ผมตั้งไว้ 1 วันนี้ จะได้ไหม
ได้ครับปรับตรง Recur every = 1 , ตรงวันเลือกทุกวัน และตรงสคิปเปลี่ยนจาก \d -30 เป็น \d - 1 ครับ
E:
cd \Test ลบไฟล์งาน
del *.xlsx
del *.xls
del *.bmp
del *.docx
del *.doc
exit
ผมสร้างสคริปแบบนี้ครับ แต่มันลบหมดเลย อยากกำหนดวันที่ครับ แบบลบไฟล์ที่เกิน 30 วันครับ
ลองเปิด CMD แล้วใช้คอมมานด์ forfiles /? ดูที่ Parameter /d และ Example การใช้งานครับ
แล้วยังไงต่อครับ
ลองสร้างโฟลเดอร์สำหรับทดสอบมาสัก 1-2 โฟลเดอร์ เสร็จแล้วใส่ข้อมูลเข้าไปจำนวนหนึ่ง ท้ายสุดลองใช้หลักการณ์ของ forfiles ทดสอบสร้าง Script เพื่อลบไฟล์ครับ แนะนำให้ทำ Workshop ก่อน ได้ผลลัพธ์ที่ต้องการแล้ว ค่อยนำวิธีการไปใช้กับข้อมูลจริงครับ
สคริปแบบนี้หรือเปล่าครับ
forfiles /p "E:\Test ลบไฟล์งาน" /s /m *.* /c "cmd /c Del @path" /d –1
c "cmd /c Del @path" /d –3
ตัว c หมายถึงอะไรครับ
forfiles /p "E:\Test ลบไฟล์งาน" /s /m *.* /e "cmd /e Del @path" /d –1
หรือเปล่า
ถ้าต้องการ กำหนดการลบไฟล์ใน batch file โดยมีไฟล์ ใน folder หลายไฟล์แต่ไม่ต้องการลบหมด
แต่จะลบทีละ 10 ไฟล์ จาก 100 ไฟล์ ชื่อของไฟล์และวัน เหมือนกันหมด จะกำหนด code แบบไหนใน batch file ครับ
วิธีตั้งเวลาลบข้อมูลแบบอัตโนมัติ ด้วยเครื่องมือ Task Scheduler >>>>> Download Now
>>>>> Download Full
วิธีตั้งเวลาลบข้อมูลแบบอัตโนมัติ ด้วยเครื่องมือ Task Scheduler >>>>> Download LINK
>>>>> Download Now
วิธีตั้งเวลาลบข้อมูลแบบอัตโนมัติ ด้วยเครื่องมือ Task Scheduler >>>>> Download Full
>>>>> Download LINK
ความคิดเห็นนี้ถูกผู้เขียนลบ
forfiles -p "D:\Bank" -s -m *.* -d -30 -c "cmd /c del @path"
ลบไฟล์ที่มีอายุเกิน 30 วันใน D:\Bank
option ของ forfiles
/p : ระบุพาธ
/m : เช่น /m *.bat หมายถึง ทุกไฟล์ที่เป็น .bat
/s : search into subdirectories recursively (ค้นหาลึกเข้าไปทุกๆ subdirctory เเละ subdirectory ย่อยๆอีก)
/c "" : คำสั่งที่เราจะกระทำกับไฟล์ เมื่อค้นเจอ
/d : เกี่ยวกับวันที่ของไฟล์