(view source code of macos2.cmd as plain text)
@ECHO OFF
REM MacOS2.cmd, Version 2.10
REM Finds the network adapter's MacAddress
REM and stores it in an environment variable
REM Written by Rob van der Woude
REM Initializing
SET MACTMPBT=
SET MACTMPDR=
SET SERVICE=
REM Add %TEMP% to PATH, assuming everyone has write access in %TEMP%
IF "%TEMP%"=="" GOTO NoTemp
SET MACTMPDR=%TEMP%.\
SET OLDPATH=%PATH%
PATH %TEMP%;%PATH%
:NoTemp
REM Use DATE to parse NET CONFIG services output
NET CONFIG | FIND /V ":" | FIND /V "." | DATE > %MACTMPDR%MACTEMP.DAT
REM Check which language is used, to enable use of DATE in parsing
REM English?
TYPE %MACTMPDR%MACTEMP.DAT | CUT -F:1 -L:1 | FIND "Enter" > NUL
IF NOT ERRORLEVEL 1 SET MACTMPBT=ENTER
IF NOT ERRORLEVEL 1 SET ACTIVE=active
REM Or Dutch?
TYPE %MACTMPDR%MACTEMP.DAT | CUT -F:1 -L:1 | FIND "Voer" > NUL
IF NOT ERRORLEVEL 1 SET MACTMPBT=VOER
IF NOT ERRORLEVEL 1 SET ACTIVE=actief
REM Language doesn't seem to be implemented yet
IF "%MACTMPBT%"=="" GOTO UnknownLanguage
REM Continue filtering temporary file and create temporary batch file
TYPE %MACTMPDR%MACTEMP.DAT | FIND "):" > %MACTMPDR%MACTEMP.CMD
IF ERRORLEVEL 1 TYPE %MACTMPDR%MACTEMP.DAT | FIND ": (" > %MACTMPDR%MACTEMP.CMD
REM Create language dependent temporary batch file
ECHO IF "%%SERVICE%%"=="" SET SERVICE=%%6> %MACTMPDR%%MACTMPBT%.CMD
ECHO IF "%%SERVICE%%"=="" SET SERVICE=%%5>> %MACTMPDR%%MACTMPBT%.CMD
REM Execute temporary batch files
CALL %MACTMPDR%MACTEMP.CMD
REM Check correct execution of temporary batch files
IF "%SERVICE%"=="" GOTO UnknownLanguage
REM Use NET CONFIG with found service to get MacAddress
REM Due to the limited number of nested pipes allowed,
REM we have to split the filtering and use temporary files
NET CONFIG %SERVICE% | FIND " %ACTIVE% " | CUT -F:2 -L:1 -D:"(" | CUT -F:1 -L:1 -D:")" > %MACTMPDR%MACTEMP.DAT
REM Reset variable to enable reuse
SET SERVICE=
REM Due to the limited number of nested pipes allowed,
REM we have to split the filtering and use temporary files
TYPE %MACTMPDR%MACTEMP.DAT | DATE | FIND /I "%MACTMPBT%" > %MACTMPDR%MACTEMP.CMD
CALL %MACTMPDR%MACTEMP.CMD
REM Check correct execution of temporary batch files
IF "%SERVICE%"=="" GOTO UnknownLanguage
REM Save results
SET MacAddr=%SERVICE%
ECHO.
ECHO MacAddress=%MacAddr%
GOTO End
:UnknownLanguage
ECHO Error, probably unknown OS language
ECHO Known languages so far: English and Dutch
GOTO End
:ResetPath
REM Remove %TEMP% from PATH again
PATH %OLDPATH%
SET OLDPATH=
:End
REM Clean up temporary files and variables
IF NOT "%OLDPATH%"=="" GOTO ResetPath
IF EXIST %MACTMPDR%MACTEMP.* DEL %MACTMPDR%MACTEMP.*
IF EXIST %MACTMPDR%%MACTMPBT%.CMD DEL %MACTMPDR%%MACTMPBT%.CMD
SET ACTIVE=
SET MACTMPBT=
SET MACTMPDR=
SET SERVICE=
page last modified: 2023-03-10