发现家里的台式主机无负荷状态下也有100瓦左右,长期开机有点费电。于是平时看电视上网连天用N100小主机,用到编程或复杂计算的时候再启用台式机,用RDP远程连接上去就可以了,这样省了显示器和键鼠的繁琐,也省电。之前写过win电脑开启网卡唤醒开机,但是,win中默认没有发Magic Packet的工具,其他的工具五花八门,最终自己用go写了一个wol程序。
Github:
https://github.com/zngw/wol
下载 并重命名为 wol.exe:
https://github.com/zngw/wol/releases/download/v0.1.0/wol_windows_amd64.exe
先设置好win网卡唤醒,在路由在配置静态路由,然后,就可以在小主机上写个bat脚本。先调用wol.exe唤醒台式电脑,等启动成功后调用rdp远程连接连接。
@echo off
setlocal
:: 设置mac地址
set "MAC=0c:9d:92:bd:24:05"
:: 目标IP
set "TARGET_IP=192.168.1.5"
:: 尝试次数
set "MAX_RETRIES=3"
set "RETRY=0"
:RETRY_LOOP
if %RETRY% GEQ %MAX_RETRIES% (
echo [ERROR] Max retries reached. Giving up.
exit /b 1
)
echo Attempt %RETRY%: Sending WOL to %MAC%...
wol.exe -m %MAC% -i %TARGET_IP%
if %ERRORLEVEL% EQU 0 (
echo [SUCCESS] Host is online!
start mstsc /v:%TARGET_IP%
exit /b 0
) else (
echo [WARNING] Attempt %RETRY% failed. Retrying in 30 seconds...
timeout /t 30 /nobreak >nul
set /a RETRY+=1
goto RETRY_LOOP
)
最后,将脚本和wol.exe放在同一目录(或脚本中使用wol.exe完整路径)运行脚本测试。等待脚本结束后,会启动rdp远程连接,如果电脑未关机,同样可以运行脚本启动远程连接,多发一个Magic Packet包也不影响。

评论区