• 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

    • There won't be any major changes from beta to release.
    • Having been using Windows for 30 years and 3 Surface Pros in the meantime (4,6,9) and recently bought a 15" macbook air m4. The OS is indeed a big deal. Hardware wise the surface pro feels as nice as macbook air, but Windows...man it's it's own enemy now
    • 2013 to 2017...wtf, is Steve on the wacky tabacky? Never heard of this or this Nathan guy in Australia.
    • Dell says it can't be blamed for Windows Night Light breaking on its Arm PCs by Usama Jawad Night Light is a very handy feature that is available by default in Windows 10 and Windows 11. Essentially, when you toggle it on, Windows reduces the emission of blue light from the display which in turn decreases the stress on eyes and can potentially aid in better sleep too. While this feature generally works quite well, this hasn't been the case so far on some Dell PCs. Now, Dell has acknowledged the issue in a recently published support document. As the situation currently stands, Night Light does not work on the secondary display on certain Windows Arm PCs when an external monitor is connected to them. This happens on the following PC models: Inspiron 14 5441 Inspiron 14 Plus 7441 Latitude 5455 Latitude 7455 XPS 13 9345 Now, Dell has confirmed that this is not due to any hardware or software issue on its side, it's just a limitation of the Qualcomm Oryon chipset. In essence, this is a problem that is outside the control of Dell. What this means is that while customers can utilize built-in and third-party tools to adjust the color profiles of their displays, Dell can't really get Windows Night Light to work as-is on external displays connected to any of the Arm PCs listed above. The company has emphasized that there are no plans to support Windows Night Light on its existing Arm PCs, and that customers will just have to make do with what they have. However, this feature will likely work as designed with the "next generation" of Arm computers, which will presumably leverage a chipset that is not held back by this limitation. Windows on Arm has enjoyed decent support from software developers in recent times; Microsoft will be hoping that it can keep the momentum going with its next Snapdragon PCs.
    • that car they are showing run on very small areas and in controlled environments like no difficult intersection or construction areas while also having drivers in the car, while waymo has proven track record, one is working product which you can take today, the other is future promise with less service and more caveats (which has been delayed over a decade).
  • Recent Achievements

    • Week One Done
      moojay67 earned a badge
      Week One Done
    • Dedicated
      lethalman earned a badge
      Dedicated
    • Week One Done
      B4dM1k3 earned a badge
      Week One Done
    • One Month Later
      adnan.hebibovic earned a badge
      One Month Later
    • Week One Done
      adnan.hebibovic earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      595
    2. 2
      ATLien_0
      219
    3. 3
      Michael Scrip
      198
    4. 4
      +FloatingFatMan
      144
    5. 5
      Xenon
      135
  • Tell a friend

    Love Neowin? Tell a friend!