So, after a bit of digging I found a script which pings a list of IP's or Hostnames, within a text file, and pumps out the associated MAC address to another text file.
Script below:
@ECHO off
if Exist MACResults.txt (DEL MACResults.txt)
for /f "tokens=*" %%I in (MAClist.txt) do call :nbtstatrunner %%I
ECHO nbtstat process complete.
ECHO Please check MACResults.txt for results
pause
goto :eof
:nbtstatrunner
set _mac=Not on LAN
REM nbtstat -a %1
REM reduce the output to just the line containing the MAC address
REM and pull out the third token by using "=" and " " as delimiters
for /f "usebackq tokens=3 delims== " %%m in (`nbtstat -a %1 ^| find "MAC Address"`) do (set _mac=%%~m)
(echo:%1 %_mac%)>>"MACResults.txt"
Script below:
@ECHO off
if Exist MACResults.txt (DEL MACResults.txt)
for /f "tokens=*" %%I in (MAClist.txt) do call :nbtstatrunner %%I
ECHO nbtstat process complete.
ECHO Please check MACResults.txt for results
pause
goto :eof
:nbtstatrunner
set _mac=Not on LAN
REM nbtstat -a %1
REM reduce the output to just the line containing the MAC address
REM and pull out the third token by using "=" and " " as delimiters
for /f "usebackq tokens=3 delims== " %%m in (`nbtstat -a %1 ^| find "MAC Address"`) do (set _mac=%%~m)
(echo:%1 %_mac%)>>"MACResults.txt"