使用 PowerShell 或 批处理(BAT) 来写一个简单的 Wake-on-LAN(WOL) 脚本,唤醒同一局域网内的电脑。

方案 1:PowerShell 脚本

适用于 Windows 10 及以上,利用 UDP 发送魔术包(Magic Packet)唤醒目标设备。

步骤:

  1. 确保被唤醒的电脑支持 WOL(BIOS 需开启 Wake-on-LAN,网卡驱动也需支持)。

  2. 获取目标电脑的 MAC 地址(可以在该设备的命令行输入 ipconfig /all 查找)。

  3. 运行以下 PowerShell 脚本 来发送唤醒包。

PowerShell 脚本(WakeOnLAN.ps1):

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 命令行工具)。

步骤:

  1. 下载 WOL 工具(如 WolCmd.exe):

  2. 创建 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 地址)
  1. 双击 wake.bat 即可执行唤醒操作!


两种方案对比

方法需要下载工具兼容性易用性
PowerShell不需要Windows 10+适合脚本用户
批处理(BAT)需要兼容所有 Windows适合普通用户

如果你对 PowerShell 熟悉,推荐 方案 1,如果想更简单,方案 2 可能更适合你。 🚀

评论

热门

LILYGO TTGO LoRa32

蛇年