Image may be NSFW.
Clik here to view.
去年買了新電腦後,原本較常使用的筆電成為閒置狀態,由於台灣濕氣較重,3C 電子用品若不常通電、開機,會比較快故障。所以想到可以把每日定期執行的「爬蟲程式」,改成由筆電執行。一方面爬蟲程式執行的視窗就不會干擾電腦的日常作業,一方面筆電有事情做,每天開機也可延長使用壽命,可說是一箭雙鵰。
然而一段時間後,偶爾也會發生忘了走到筆電按下開關的狀況,導致每日該跑的爬蟲程式沒執行。依賴大腦記住事情終究不可靠,為了一勞永逸,決定研究讓筆電開關機也自動化的方法,如此將可完全不必監管這台筆電。
可惜天不從人願,這件事不如想像中簡單,研究過程頻頻遇坑,需要解決的問題相當多,詳情請見本篇的心得分享。
(圖片出處: pixabay.com)
Clik here to view.
Clik here to view.
Clik here to view.
Clik here to view.![win10-schedule-sleep-wake-4.jpg-筆電如何定時開關機+睡眠喚醒之研究]()
Clik here to view.![win10-schedule-sleep-wake-5.jpg-筆電如何定時開關機+睡眠喚醒之研究]()
Clik here to view.![win10-schedule-sleep-wake-6.jpg-筆電如何定時開關機+睡眠喚醒之研究]()
Clik here to view.
回到工作排程視窗,雙擊剛剛建立的排程。如上圖,切換到「條件」分頁,務必要勾選「喚醒電腦以執行此工作」,然後按「確定」即可。
Image may be NSFW.
Clik here to view.
上圖可看到新增的兩個工作排程,之後時間到了就會自動執行睡眠及喚醒。
Clik here to view.

一、定時開關機
1. 定時關機筆電從頭到尾的自動化流程,最容易處理的是最後一個步驟「關機」,只要利用 Windows 內建的「工作排程器」,指定時間執行 Windows 內建工具 shutdown.exe 即可。操作流程很簡單不再贅述,請直接參考微軟論壇頁面「設定Windows 10定時自動關機」。 2. 定時開機最困難的一件事是如何讓筆電在關機的狀態下,能夠自動開機。這功能必須筆電主機板 BIOS 支援才行,通常商用或高價筆電才會提供這個功能。 我的 Acer 筆電屬於平價機型,BIOS 選項陽春到不行,所以這件事只能找替代作法了。 如果你的筆電 BIOS 選項看起來很複雜的話,可以找找有沒有「Wake Timers」、「RTC Alarm」這類的字串,應該就能設定定時開機。 3. 定時網路開機前陣子寫過一篇「從手機桌面遠端遙控開機」,其原理大致是這樣:- 關閉 Windows「快速啟動」功能,讓電腦真正關機,保持主機板部份供電,用來接收網路線訊號。
- 電腦主機板開啟「網路喚醒」功能
- 在 Windows 裝置管理員將網路卡設定為「允許這個裝置喚醒電腦」
- 在手機安裝「Wake on LAN」這類 APP
二、睡眠(S3)與休眠(S4)
1. 關機(S5)的替代方案要讓我的 Acer 筆電從「關機」狀態自行啟動是行不通了,退而求其次我想到可以改成從「睡眠」或「休眠」喚醒。而應該選擇「睡眠」或「休眠」需要進行一番研究,另外就是電腦都不關機的話,會有什麼影響也需要了解一下。 於是我把「開關機」與「睡眠」的作法餵了 ChatGPT,得到以下結論:- 每次「開關機」都會有電流衝擊,導致增加電子零件耗損、增加 HDD、SSD 讀寫,影響電子零件壽命;使用「睡眠」則影響微乎其微
- 「關機」不會耗電,「睡眠」會消耗 5W 以下的電力
- 長時間「睡眠」不關機的狀態,會有記憶體累積的問題,可能影響系統穩定性
- 休眠在意義上幾乎等於關機,只是將記憶體寫入系統檔,讓開機時速度變快。
- 睡眠則是將主機板大部分元件斷電,只保留記憶體供電。
- 所以休眠跟關機一樣,會造成電子零件、HDD、SSD 耗損;而睡眠幾乎沒影響。
- 睡眠的風險在於萬一供電不穩、跳電、停電,則記憶體中的資料會消失。
三、定時睡眠+喚醒測試
1. 測試失敗 無法喚醒確認執行方案從「定時開關機」改為「定時睡眠+喚醒」後,開始餵 ChatGPT 及查找資料,大致得到這些資料:- 參考:Schedule Windows to Sleep and Wake Automatically
- 睡眠指令使用 Rundll32.exe Powrprof.dll,SetSuspendState Sleep
- 參考:How to Sleep Windows 10/11 With a Keyboard Shortcut
- 先執行指令 powercfg -h off, 關閉「休眠」模式(這個指令只須執行一次就好)
- 然後執行睡眠指令 rundll32.exe powrprof.dll,SetSuspendState 0,1,0
- 參考:如何安排 Windows 10 從睡眠狀態喚醒
- 執行指令 cmd /c exit 並勾選「喚醒電腦以執行此工作」
- 官網:PsShutdown v2.6(此頁面有詳細的參數說明)
- 下載連結:PsTools
- 解壓縮後看到一大堆工具,其中有 psshutdown.exe、psshutdown64.exe 這兩個檔案,電腦是 x64 系統的話用 psshutdown64 這個檔案
- 把檔案複製到 C:\Windows\System32 就能在任意路徑執行
- 完整的睡眠指令參數:psshutdown64 -d -t 0
四、實現排程「定時睡眠+喚醒」
以上是我的試錯過程紀錄,以下整理完整操作的流程:- 在左下角搜尋輸入「工作排程器」,找到後執行
- 動作 → 建立基本工作
Clik here to view.

- 輸入名稱及描述
- 「觸發程序」選擇「每天」
Clik here to view.

- 設定每天要觸發的時間
- 「動作」選擇「啟動程式」
Clik here to view.

- 如上圖,「程式或指令碼」輸入
psshutdown64 ,「新增引數」輸入-d -t 0 - 最後按「完成」即可
Clik here to view.

- 輸入名稱及描述
- 「觸發程序」選擇「每天」
Clik here to view.

- 設定每天要觸發的時間
- 「動作」選擇「啟動程式」
Clik here to view.

- 如上圖,「程式或指令碼」輸入
cmd ,「新增引數」輸入/c exit - 這個指令+參數的意思是,執行 cmd 後關閉此視窗。如果只行指令 cmd 而沒加上此參數,那麼從睡眠中喚醒後,DOS 視窗還會留在畫面上
- 最後按「完成」建立此排程
Clik here to view.

Clik here to view.

五、補充說明
為了讓「定時睡眠+喚醒」正常運作,補充幾點注意事項: 1. 確保 Windows 允許自動喚醒首先要檢查 Windows 是否允許自動喚醒:- 打開「電源選項」:按
Win + R → 輸入 powercfg.cpl → 變更計畫設定 → 變更進階電源設定 - 找到「睡眠」→ 允許喚醒計時器 → 必須是「啟用」的狀態
powercfg /waketimers
3. 讓滑鼠無法喚醒電腦在睡眠狀態下,如果不小心碰到鍵盤或滑鼠,都會將電腦喚醒,因為睡眠模式下 USB 還是會供電。
其實不小心誤碰鍵盤的機率比較低,倒是我有時不小心撞到桌角就會喚醒電腦。仔細思考了一下,原因應該是桌子有輕微移動時,會讓滑鼠有輕微位移,導致誤判有操作行為,從而喚醒電腦。
為了避免此狀況,最好進行以下操作,讓滑鼠無法喚醒電腦:
- 按
Win + X → 裝置管理員 → 叫出滑鼠裝置 → 切換到「電源管理」分頁 → 取消勾選「允許這個裝置喚醒電腦」
更多 Windows 相關技巧: