• 0

Windows WakOnLAN batch script


Question

I currently have a script to encode files and send them to another machine over the LAN. I've started putting the remote machine to sleep since it isn't being used as much, so I want the batch file to wake the machine if needed.

What I'd like to do is:

1. check to see if the PC is currently on

2. encode the files

3. if PC was already on, send periodic packets to keep it on while the script is running

4. run renamer

5. if machine is off, send a magic packet to wake the machine so they can be copied over

6. if need be, wait for machine to turn on, then check it again

7. copy and move files

That way, the machine won't go to sleep while the script is running only to be woken up again a short time later. Each encoding takes about 40 minutes, and the remote PC sleeps after 1 hour. So, if the machine is currently on, I need a command to keep it alive inserted between each encode.

Here is my current script. It may seem a little weird, but it does what I need. I've trimmed out most of the encoding steps.


set avidemux="D:Programs\avidemux_2.5.6-1_win64\avidemux2_cli.exe"
set videocodec=
set audiocodec=
set curr_dir="D:\New Video"
set destination="D:\Encoded Temp\%%f.avi"

set therenamer="C:\Program Files (x86)\theRenamer\theRenamer.exe"
set renamer_source="D:\Encoded Temp"
set renamer_dest="D:\New TV Episodes"

set copy_dest="D:\Videos"
set move_dest="\\DOWNSTAIRS\Video"

chdir video1
set targetsize=300
for %%f in (*.mp4) do %avidemux% --video-codec %videocodec% --audio-codec %audiocodec% --video-conf 2pass=%targetsize% --force-alt-h264 --load "%%f" --save %destination% --quit
chdir /D %curr_dir%

chdir video2
set targetsize=375
for %%f in (*.mp4) do %avidemux% --video-codec %videocodec% --audio-codec %audiocodec% --video-conf 2pass=%targetsize% --force-alt-h264 --load "%%f" --save %destination% --quit

chdir %renamer_source%
del *.stat

%therenamer% -fetch -ff=%renamer_source% -af=%renamer_dest%

robocopy %renamer_dest% %copy_dest% /S /xa:h
robocopy %renamer_dest% %move_dest% /MOVE /S /xa:h
[/CODE]

Link to comment
https://www.neowin.net/forum/topic/1113959-windows-wakonlan-batch-script/
Share on other sites

8 answers to this question

Recommended Posts

  • 0

I'm not sure what the wol syntax is, but using the utility I mentioned already, you could simply insert the line

WakeMeOnLan.exe /wakeup x.x.x.x[/CODE]

(assuming x.x.x.x is the target's IP address) before you start your copy. I believe that the other checking to see if the machine is currently on, as you stated in your first post, is irrelevant.

  • 0

Anyone know if WoL or ping will keep the target machine awake?

What I'd like it to do is check if the machine is currently awake. If it is, then between each encode, do something to keep it awake and do the copy task at the end. If it isn't, then wait until the end of the script and prompt [y/n] whether or not it should wake the machine and copy the files.

  • 0

Some of the videos I'm encoding are downloaded, and sometimes they download really slow. So sometimes I want to run the script to encoded a few to get a head start, but I don't want to wake the machine and copy until I have all of them encoded.

  • 0

OK. Here's what i have so far. I haven't had a chance to test it. Anyone see any problems with it?


@echo off

set avidemux="D:Programs\avidemux_2.5.6-1_win64\avidemux2_cli.exe"
set videocodec=
set audiocodec=
set curr_dir="D:\New Video"
set destination="D:\Encoded Temp\%%f.avi"

set therenamer="C:\Program Files (x86)\theRenamer\theRenamer.exe"
set renamer_source="D:\Encoded Temp"
set renamer_dest="D:\Temp"
set copy_dest="D:\Video"
set move_dest="\\DOWNSTAIRS\Video"

set wol="D:\Programs\wol.exe"
set machine=Downstairs
set mac=0F0FEAFFFFF

echo.
ping -n 5 %machine%
if errorlevel 1 (
set awake=0
goto encode
)

echo.
echo %machine% is already awake.
set "awake=1"
goto encode

:encode
chdir /D %curr_dir%

chdir Video1
set targetsize=300
for %%f in (*.mp4) do %avidemux% --video-codec %videocodec% --audio-codec %audiocodec% --video-conf 2pass=%targetsize% --force-alt-h264 --load "%%f" --save %destination% --quit
chdir /D %curr_dir%

if awake=1 (
echo Sending WOL packet to %machine% (%mac%)
%wol% %mac%
)

chdir Video2
set targetsize=350
for %%f in (*.mp4) do %avidemux% --video-codec %videocodec% --audio-codec %audiocodec% --video-conf 2pass=%targetsize% --force-alt-h264 --load "%%f" --save %destination% --quit
chdir /D %curr_dir%
if awake=1 (
echo Sending WOL packet to %machine% (%mac%)
%wol% %mac%
)

chdir Video3
set targetsize=400
for %%f in (*.mp4) do %avidemux% --video-codec %videocodec% --audio-codec %audiocodec% --video-conf 2pass=%targetsize% --force-alt-h264 --load "%%f" --save %destination% --quit
chdir /D %curr_dir%

chdir %renamer_source%
del *.stat

if awake=1 (
goto renamer
)

:wake-on-lan
echo.
echo Sending WOL packet to %machine% (%mac%)
%wol% %mac%
wait 20
goto %renamer%

:renamer
%therenamer% -fetch -ff=%renamer_source% -af=%renamer_dest%
robocopy %renamer_dest% %copy_dest% /S /xa:h
robocopy %renamer_dest% %move_dest% /MOVE /S /xa:h
[/CODE]

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • I just teams to stop stealing the damn focus every time it starts or restarts after an update. Annoying as all hell.
    • Obviously new hardware costs more money. Never said you get new 2025 hardware for $266. You get new 2025 hardware for as little as $399 and only gets better with back to school sales. At the $499-699, there's some decent spec laptops with 16 GB RAM, and 1 TB SSD with better build quality than this lowest end ideapad.
    • FxSound 1.1.34 Beta by Razvan Serea FxSound (formerly DFX Audio Enhancer / FxSound Enhancer) is now free, making high-quality audio enhancement accessible to everyone. Designed for all PC sound systems, from average setups to audiophile-grade equipment, it offers automatic or fully customizable processing. As automatic or customizable as you want, it utilizes the highest-grade processing to deliver more volume, better equalization, and a wider, deeper sound. For the serious audiophiles, FxSound gives you the tools to adjust the FxSound Effects and EQ to your exact preferences. Turn FxSound on and immediately hear the difference in sound quality. FxSound is ideal for budget audiophiles, music lovers, gamers, transcriptionists, Netflix enthusiasts, and more. It’s particularly beneficial for those relying on quiet laptop speakers or low-quality audio hardware. As a free tool, FxSound excels in boosting volume, enhancing bass, and improving sound quality. No other free EQ for Windows matches its ease of use. FxSound Is Now Completely Free and Unrestricted FxSound Pro is now free for everyone, not just those who can afford it. Get free and unrestricted access to better sound today. FxSound is now entirely supported by users. Click here to donate to help fund continued development and improvements to FxSound. FxSound 1.1.34 Beta changelog: System tray context menu width is fixed and device names are adjusted to width Prompt to save the preset in a new name if changes are made and new preset is selected If preferred device is not connected then it is disabled and greyed out from selection until connected again Application crash dump is saved on unhandled exceptions Download: FxSound 1.1.34 Beta | ARM64 | ~70.0 MB (Open Source) View: FxSound Home Page | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • Can you get a brand new (not refurb) device like this, but with 2025 hardware, for $266? Under $300? No? If you can, it must have the worst specs otherwise (4gb ram, 1366x768 12in lcd screen, 256gb spinning hard drive, etc.). Please show me this sub-$300 2025 laptop that is better than what the article shows.
  • Recent Achievements

    • One Year In
      TsunadeMama earned a badge
      One Year In
    • Week One Done
      shaheen earned a badge
      Week One Done
    • Dedicated
      Cole Multipass earned a badge
      Dedicated
    • Week One Done
      Alexander 001 earned a badge
      Week One Done
    • Week One Done
      icecreamconesleeves earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      569
    2. 2
      ATLien_0
      187
    3. 3
      +FloatingFatMan
      186
    4. 4
      Skyfrog
      113
    5. 5
      Som
      109
  • Tell a friend

    Love Neowin? Tell a friend!