Sleepwalker v4.1 [08 Nov 2023] - by Dominic


This Windows program (batch file) can wake up a sleeping (including hibernating) remote Windows machine by sending a magic packet and then start a Remote Desktop connection to that machine.

All parameters are set by editing one line, normally the fourth line of the program. It uses wolcmd.exe and portqry.exe, both of which are provided in the standard zip package and should be unzipped/saved to the same location as this batch file. (If SET wakeport=0 is used - see optional variables below - then wolcmd.exe is not required.) [ wolcmd.exe is by Depicus and can be obtained directly from portqry.exe is by Microsoft and you can read about it and download it at ]

The remote Windows machine to which you are connecting must have WakeOnLan (aka WOL) enabled both in its BIOS and in Windows Device Manager (on the adapter's 'Power Management' tab i.e. 'Allow this device to wake the computer' and, usually, 'Only allow a magic packet to wake the computer'). Sadly this is often impossible with Wifi network adapters (though there are exceptions), and (at the time of writing) with 10GbE Ethernet adapters.

To connect to machines behind a router on a different local network than the machine on which you are running SleepWalker (e.g. over the internet), or (perhaps) if the remote machine is on the same local network but is via one or more intermediate switches, you probably need to have opened or redirected ports on the router to point to the machines, and you probably also need, on the router, to have bound the machines' macs to an IP; this is so the router will allow a magic packet to pass from the internet to a sleeping machine. Some routers simply do not have this capability, in which case this program cannot help you, sorry. Your router must also respond to a ping from the internet.

The wakeport setting is not significant to the destination computer but it is usually needed by the router at the destination location to redirect the packet to the correct machine. In effect it identifies which machine the packet should be sent to; this is because most routers block broadcast packets sourced from the internet.

It is possible to change the default 3389 Remote Desktop port by a registry fix, but it is better, if your router supports it, to use the router to redirect from another high-numbered port to the local 3389 port; this is more flexible and means the open Remote Desktop connection is less obvious to port scanners.

Required Variable

remote - ip/dns name of remote machine to wake/run Remote Desktop

Optional Variables

mac - mac id of remote machine, if missing this program is just a way to start Remote Desktop
name - appears on the header line of output (unless run with -q)
wakeport - default 9 (set to 0 to skip attempting to wake remote machine)
rdpport - default 3389 (set to 0 to skip launching Remote Desktop)
wakeip - default same as remote
mask - default

Command line options

-q: no text unless cannot find wolcmd.exe or portqry.exe or there is some unexpected problem

Exit codes

0 on success, 1 on failure


Copyright © 2023 Dominic Raferd. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.


4.1 [08 Nov 2023] - updated help information
4.0 [24 Oct 2022] - remove dual-lan option (which removes ssed.exe dependency), remove ssed.exe from package
3.1 [17 Nov 2016] - switch default wakeonlan port to 9 from 7 (so it works with Wireshark wol.mac/sync/passwd detection), also bugfix - previously in non-verbose mode it used port 7 regardless of setting

Download sleepwalker.bat


I have provided this software free gratis and for nothing. If you would like to thank me with a contribution, please let me know and I will send you a link. Thank you!

My Other Sites

My Programs

Here is a selection of some (other) programs I have written, most of which run under GNU/Linux from the command line (CLI), are freely available and can be obtained by clicking on the links. Dependencies are shown and while in most cases written and tested on an x86-based Linux server, they should run on a Raspberry Pi, and many can run under Windows using Windows Subsystem for Linux (WSL) or Cygwin. Email me if you have problems or questions, or if you think I could help with a programming requirement.

Backup Utilities

Debian/Ubuntu kernel and LVM Utilities

Miscellaneous Programs


This section is closed. If you have a question, please submit it by email, thank you.

No comments yet for '/programs/help/sleepwalker.bat.php'