28 ธันวาคม 2557

วิธีตั้งเวลาลบข้อมูลแบบอัตโนมัติ ด้วยเครื่องมือ Task Scheduler

,
Delete Ole Files
สำหรับการใช้งานอินเตอร์เน็ตทุกวันนี้ การเข้าเยี่ยมชมเว็บไซต์ต่าง ๆ และ การดาน์วโหลดข้อมูล หรือ โปรแกรมมาติดตั้งใช้งานที่เครื่องคอมพิวเตอร์ส่วนบุคคล เป็นเรื่องปกติและสามารถดำเนินการได้อย่างง่ายดาย ประเด็นคือเมื่อมีจำนวนข้อมูลที่ดาน์วโหลดเพิ่มขึ้นเรื่อย ๆ วิธีการที่จะใช้ลบข้อมูลเหล่านี้เมื่อไม่ได้ใช้งานแล้ว ควรจะเลือกวิธีการใดดีจึงจะสะดวก และหลีกเลี่ยงวิธีการแบบ Manual.  วันนี้ BBTECH ขอเสนอวิธีตั้งเวลาลบข้อมูลแบบอัตโนมัติ ด้วยเครื่องมือ Task Scheduler ครับ ในตัวอย่างนี้เป็นการตั้งเวลาลบข้อมูลในโฟลเดอร์ Download แต่ในความเป็นจริงท่านสามารถนำไปประยุกต์ใช้กับโฟลเดอร์อื่น ๆ ได้ตามความเหมาะสมครับ
 
ขั้นแรกให้ท่านสร้าง Batch file ขึ้นมาก่อน เสร็จแล้ว บันทึก ไว้ในโฟลเดอร์ใดก็ได้ ตามสะดวก 
รูปแบบคำสั่ง ลบไฟล์ที่จัดเก็บในโฟลเดอร์ Download เกิน 30 วัน

forfiles /p "C:\Users\YourUserName\Downloads" /s /m *.* /c "cmd /c Del @path" /d –30

Task Schedule-Delete Old Files

ตำแหน่งพื้นฐานของโฟลเดอร์ Download จะอยู่ที่ "C:\Users\YourUserName\Downloads"   ส่วนวิธีการเรียกใช้งาน Batch file ที่เพิ่งสร้างขึ้น จะใช้งานผ่านเครื่องมือ Task Scheduler เนื่องจากเครื่องมือนี้มีออปชั่นในการตั้งเวลาในการทำงานได้ครับ เริ่มต้นให้ท่านเลือก Create a Basic Task ตามด้วยการกำหนดชื่อให้กับ Task ของท่านเอง ในตัวอย่างนี้กำหนดชื่อเป็น Delete files older then 30 Day เสร็จแล้วคลิก Next >

 

Task Schedule-Delete Old Files2

เมื่อมาถึงหน้าต่าง Task Trigger ให้ท่านเลือกเป็น Weekly เสร็จแล้วคลิก Next >

Task Schedule-Delete Old Files3

หน้าต่างต่อมาที่ช่อง Recur every กำหนดเป็น 4 weeks on และในส่วนของวันกำหนดเป็น Friday ความหมายคือให้โปรแกรมรัน Task นี้ ทุก ๆ 4 สัปดาห์ และกำหนดวันเป็นวันศุกร์ เสร็จแล้วคลิก Next > Task Schedule-Delete Old Files4

หน้าต่างต่อมา ให้ท่านเลือก Start a program เสร็จแล้วคลิก Next > Task Schedule-Delete Old Files5

หน้าต่างต่อมาที่ช่อง Program/script ให้กดปุ่ม Browse… ไปยังตำแหน่งที่ท่านเก็บ Batch file ไว้ในขั้นตอนแรก  เสร็จแล้วคลิก Next > Task Schedule-Delete Old Files6

เมือดำเนินการมาถึง หน้าต่าง Summary ให้ท่านคลิก Finish เป็นอันเสร็จเรียบร้อยครับ Task Schedule-Delete Old Files7

BBTECH l The Cycle Of Technology

18 ความคิดเห็น to “วิธีตั้งเวลาลบข้อมูลแบบอัตโนมัติ ด้วยเครื่องมือ Task Scheduler”

  • 28/12/57 10:18 ก่อนเที่ยง
    BBTECH says:

    BBTECH l The Cycle Of Technology

    delete
  • 25/5/58 1:38 หลังเที่ยง
    ไม่ระบุชื่อ says:

    ถ้าต้องการกำหนดเป็นวันต้องทำอย่างไรครับ ผมลองปรับดูมันไม่ลบอะครับ ไม่ทราบว่ามันจะลบทุกไฟล์ที่อยู่ในโพลเดอร์หรือป่าวครับ ผมทดสอบให้มันลบ ไฟล์ .txt และ .pdf ครับ

    delete
  • 25/5/58 1:40 หลังเที่ยง
    ไม่ระบุชื่อ says:

    มันจะลบทุกไฟล์ที่ เก่ากว่าวันที่เรากำหนด ใช้มั้ยครับ อยากได้ วิธีนำไปประยุกต์ใช้ครับ

    ขอบคุณครับ

    delete
  • 25/5/58 5:17 หลังเที่ยง
    BBTECH says:


    สวัสดีครับ เงื่อนไข @path" /d –30 ระบุให้ลบไฟล์ ที่มี Modify date ย้อนหลังจากวันที่รัน Batch ไฟล์ เป็นจำนวน 30 วัน ไม่แนใจไฟล์ที่คุณใช้ในการทดสอบ Modify date เป็นวันที่เท่าใดครับ เกิน 30 วันจากวันที่รัน Batch ไฟล์หรือเปล่าครับ ?

    delete
  • 25/5/58 5:20 หลังเที่ยง
    BBTECH says:

    สำหรับคำถามตั้งเป็นวันที่ได้หรือไม่ ตอบว่าได้ครับ เหมือนการตั้งนาฬิกาปลุก ให้ Batch files ทำงานครับ

    delete
  • 12/8/58 6:24 หลังเที่ยง
    Unknown says:

    ล้ะ เรา สามารถ ตั้งให้ ลบไพล์ อย่างเช่น ผมตั้งไว้ 1 วันนี้ จะได้ไหม

    delete
  • 13/8/58 8:21 ก่อนเที่ยง
    BBTECH says:

    ได้ครับปรับตรง Recur every = 1 , ตรงวันเลือกทุกวัน และตรงสคิปเปลี่ยนจาก \d -30 เป็น \d - 1 ครับ

    delete
  • 8/7/59 11:45 ก่อนเที่ยง
    ธนา says:

    E:
    cd \Test ลบไฟล์งาน
    del *.xlsx
    del *.xls
    del *.bmp
    del *.docx
    del *.doc
    exit

    ผมสร้างสคริปแบบนี้ครับ แต่มันลบหมดเลย อยากกำหนดวันที่ครับ แบบลบไฟล์ที่เกิน 30 วันครับ

    delete
  • 8/7/59 11:52 ก่อนเที่ยง
    BBTECH says:

    ลองเปิด CMD แล้วใช้คอมมานด์ forfiles /? ดูที่ Parameter /d และ Example การใช้งานครับ

    delete
  • 8/7/59 2:35 หลังเที่ยง
    ธนา says:

    แล้วยังไงต่อครับ

    delete
  • 8/7/59 2:39 หลังเที่ยง
    BBTECH says:

    ลองสร้างโฟลเดอร์สำหรับทดสอบมาสัก 1-2 โฟลเดอร์ เสร็จแล้วใส่ข้อมูลเข้าไปจำนวนหนึ่ง ท้ายสุดลองใช้หลักการณ์ของ forfiles ทดสอบสร้าง Script เพื่อลบไฟล์ครับ แนะนำให้ทำ Workshop ก่อน ได้ผลลัพธ์ที่ต้องการแล้ว ค่อยนำวิธีการไปใช้กับข้อมูลจริงครับ

    delete
  • 11/7/59 10:50 ก่อนเที่ยง
    ธนา says:

    สคริปแบบนี้หรือเปล่าครับ

    forfiles /p "E:\Test ลบไฟล์งาน" /s /m *.* /c "cmd /c Del @path" /d –1

    delete
  • 1/8/61 11:06 ก่อนเที่ยง
    Unknown says:

    c "cmd /c Del @path" /d –3
    ตัว c หมายถึงอะไรครับ

    delete
  • 5/12/63 11:25 ก่อนเที่ยง
    KUNZAKIYA says:

    forfiles /p "E:\Test ลบไฟล์งาน" /s /m *.* /e "cmd /e Del @path" /d –1

    หรือเปล่า

    delete
  • 6/12/63 8:45 ก่อนเที่ยง
    mini says:

    ถ้าต้องการ กำหนดการลบไฟล์ใน batch file โดยมีไฟล์ ใน folder หลายไฟล์แต่ไม่ต้องการลบหมด
    แต่จะลบทีละ 10 ไฟล์ จาก 100 ไฟล์ ชื่อของไฟล์และวัน เหมือนกันหมด จะกำหนด code แบบไหนใน batch file ครับ

    delete
  • 30/3/65 10:32 หลังเที่ยง
    ไม่ระบุชื่อ says:

    วิธีตั้งเวลาลบข้อมูลแบบอัตโนมัติ ด้วยเครื่องมือ Task Scheduler >>>>> Download Now

    >>>>> Download Full

    วิธีตั้งเวลาลบข้อมูลแบบอัตโนมัติ ด้วยเครื่องมือ Task Scheduler >>>>> Download LINK

    >>>>> Download Now

    วิธีตั้งเวลาลบข้อมูลแบบอัตโนมัติ ด้วยเครื่องมือ Task Scheduler >>>>> Download Full

    >>>>> Download LINK

    delete
  • ความคิดเห็นนี้ถูกผู้เขียนลบ
    30/6/65 2:47 ก่อนเที่ยง
    tolltech says:

    ความคิดเห็นนี้ถูกผู้เขียนลบ

    delete
  • 30/6/65 2:49 ก่อนเที่ยง
    tolltech says:

    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 : เกี่ยวกับวันที่ของไฟล์

    delete

แสดงความคิดเห็น