หากไม่ทำให้คอมพิวเตอร์ทำงานอัตโนมัติ = คุณพลาดจุดประสงค์ของคอมพิวเตอร์ ไปเลย - จุดประสงค์คือให้เครื่องทำงานซ้ำซ้อนน่าเบื่อแทนเรา
Batch File เป็นวิธีสร้าง Automation ดีที่สุด รวมกับการตั้งเวลา (Schedule) = เครื่องมือเพิ่มประสิทธิภาพทำงานทรงพลัง
ตั้งเวลารัน Batch File ด้วย Task Scheduler
หลังสร้าง Batch File ให้รันอัตโนมัติ วิธีง่ายที่สุด = Task Scheduler เครื่องมือในตัวของ Windows สำหรับรันงานตามตารางเวลา
- กด Start พิมพ์ scheduler เลือก Windows Task Scheduler
- Task Scheduler มีงานมากมายอยู่แล้ว (Windows และโปรแกรมต่างๆ ใช้) - สร้างโฟลเดอร์ใหม่ไว้งานของเรา: คลิกขวา Task Scheduler Library > New Folder (หรือจาก Actions Pane ขวา)
- ตั้งชื่อโฟลเดอร์ที่มีความหมาย
- คลิกขวาโฟลเดอร์ใหม่ > Create Task…
- แท็บ General: ใส่ Name ที่มีความหมาย, Description (เขียนว่าทำอะไร + ที่อยู่ไฟล์สคริปต์ - ช่วยแก้ไขภายหลัง)
ปุ่ม Change User or Group: รันใต้บัญชีอื่น - หาก Batch ต้องการสิทธิ์ Admin ให้เปลี่ยนเป็น Administrator (จะถามรหัสผ่าน - ไม่ใช่ช่องทางแฮก)
ค่าเริ่มต้น: Run only when user is logged on - เปลี่ยนเป็น Run whether user is logged on or not หากต้องการรันตลอดเวลา - แท็บ Triggers > New - สร้าง Trigger (เงื่อนไขรัน)
- ดูตัวเลือกใน New Trigger - เลือก Begin the task:
- On a schedule (นิยมสุด/ใช้ในตัวอย่าง)
- At log on, At startup, On idle, On an event, ฯลฯ
- ตั้ง Settings: One time, Daily, Weekly, Monthly (ตัวอย่าง Daily) + กำหนดเวลาเริ่ม/ซ้ำ
- Advanced settings: ตั้งค่าเพิ่มเติม - ตัวอย่าง: Repeat every 5 minutes, Indefinitely ถูกติ๊ก Enabled (ถ้าไม่รัน เช็คตรงนี้ก่อน) > OK
- แท็บ Actions > New - บอกว่าจะทำอะไร
- Action: เริ่มต้น Start a program (Send email/Display message = Deprecated ไม่รองรับแล้ว)
- ใส่ Full path ไปยัง Batch File (กด Browse เลือกไฟล์) - Add arguments และ Start in ว่างไว้ (ใช้ตอนสคริปต์ซับซ้อน/ PowerShell) > OK
- Task พร้อม - กด OK ปิดหน้าต่าง > กลับ Task Scheduler > คลิกขวา Task > Run ทดสอบ
- ดูคอลัมน์ Last Run Result - ควรเป็น The operation completed successfully - ไม่ใช่ = กด F5 Refresh / Troubleshoot สคริปต์หรือการตั้งค่า
แท็บ Conditions และ Settings (ที่ข้ามไป)
ส่วนใหญ่ไม่ต้องไปตั้ง - ค่า Default เหมาะสม แต่เข้าใจไว้ก็ดี
Conditions Tab
เกี่ยวกับสถานะเครื่อง:
- Idle: งานหนัก/รบกวนผู้ใช้? ปรับ Idle section
- Power: Default = รันก็ต่อเมื่อเสียบ AC, หยุดถ้าแบตเตอรี่ - เหมาะสำหรับ Batch ทั่วไป หากเครื่องหลับ (Sleep) งานจะไม่รัน - ถ้าต้องการให้ปลุกเครื่องรัน ให้ถูกติ๊ก Wake the computer to run this task
- Network: งานต้องการเน็ต? ปรับ Network section
Settings Tab
เกี่ยวกับพฤติกรรมงาน:
- Allow task to be run on demand = Default On
- ตัวเลือกอื่น: จัดการกรณีงานถูกข้าม/ล้มเหลว/ค้าง Loop - ส่วนใหญ่ Default พอ
ทำอะไรได้บ้างกับ Scheduled Batch Files?
รู้จัก Schedule แล้ว คิดไอเดีย Automation ได้เยอะ: ลบไฟล์อัตโนมัติ, เปิดโปรแกรมโปรดตอน Login, ล้าง Print Queue ที่ค้าง, ฯลฯ งานที่ทำซ้ำๆ = สคริปต์ได้ = ตั้งเวลาได้