使用 PowerShell 或 批处理(BAT) 来写一个简单的 Wake-on-LAN(WOL) 脚本,唤醒同一局域网内的电脑。
方案 1:PowerShell 脚本
适用于 Windows 10 及以上,利用 UDP 发送魔术包(Magic Packet)唤醒目标设备。
步骤:
-
确保被唤醒的电脑支持 WOL(BIOS 需开启 Wake-on-LAN,网卡驱动也需支持)。
-
获取目标电脑的 MAC 地址(可以在该设备的命令行输入
ipconfig /all
查找)。 -
运行以下 PowerShell 脚本 来发送唤醒包。
powershell
$macAddress = "XX-XX-XX-XX-XX-XX" # 目标设备的 MAC 地址(改成你的设备) $broadcast = "255.255.255.255" # 广播地址 $port = 9 # 默认 WOL 端口(一般为 7 或 9) # 将 MAC 地址转换为二进制格式 $macBytes = ($macAddress -split '[:-]') | ForEach-Object { [byte]("0x$_") } [byte[]]$packet = (,0xFF * 6) + ($macBytes * 16) # 生成魔术包 # 发送 UDP 数据包 $udpClient = New-Object System.Net.Sockets.UdpClient $udpClient.Connect($broadcast, $port) $udpClient.Send($packet, $packet.Length) $udpClient.Close() Write-Output "唤醒包已发送到 $macAddress"
方案 2:BAT 批处理脚本
如果你不想用 PowerShell,可以用 BAT + WolCmd(一个免费的 WOL 命令行工具)。
步骤:
-
下载 WOL 工具(如 WolCmd.exe):
-
解压到
C:\WOL\WolCmd.exe
-
创建
wake.bat
并填入以下内容:
bat
@echo off C:\WOL\WolCmd.exe XX-XX-XX-XX-XX-XX 192.168.1.255 255.255.255.0 9 echo 唤醒指令已发送! pause
(请替换 XX-XX-XX-XX-XX-XX
为目标设备的 MAC 地址)
-
双击
wake.bat
即可执行唤醒操作!
两种方案对比
方法 | 需要下载工具 | 兼容性 | 易用性 |
---|---|---|---|
PowerShell | 不需要 | Windows 10+ | 适合脚本用户 |
批处理(BAT) | 需要 | 兼容所有 Windows | 适合普通用户 |
如果你对 PowerShell 熟悉,推荐 方案 1,如果想更简单,方案 2 可能更适合你。 🚀
评论
发表评论