This is the example, a shortcut was installed to this code
:
@echo off
::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
:: $Header: C:/DBAREIS/Projects.PVCS/Win32/ScriptingTipsAndTricks/EXAMPLE[cmd].NsLookup() [Look up DNS servers].cmd.pvcs 1.0 11 Jul 2014 19:31:02 USER "Dennis" $
::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
setlocal ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
echo TESTING: IsIpAddress()
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
call :TEST "Google.com" "Y"
call :TEST "Google.NOSUCH.com" "N"
goto :EOF
::@@@@@@@@@@@
:TEST
::@@@@@@@@@@@
set TestHostName=%~1
set ExpectedAnswer=%~2
echo TESTING HOSTNAME: "%TestHostName%"
call :NsLookup "HOST" "%TestHostName%"
echo * HOST NAME : "%HOST_NAME%"
echo * HOST IP : "%HOST_IP%"
echo * ALIASES? : "%HOST_ALIASES%"
echo * DNS SERVER: "%HOST_DNSSERVER%"
if "%HOST_NAME%" == "" set GotHostName=N
if not "%HOST_NAME%" == "" set GotHostName=Y
if "%GotHostName%" == "%ExpectedAnswer%" echo * CORRECT :-)
if not "%GotHostName%" == "%ExpectedAnswer%" echo * ERROR: Incorrect Result...
echo.
goto :EOF
::+++++++++++++++++++++++++++++++
:NsLookUp
::+++++++++++++++++++++++++++++++ Version 14.150b
set ToLookUp=%~2
set %~1_DNSSERVER=
set %~1_NAME=
set %~1_IP=
set %~1_ALIASES=
set NsluTmpFile=%TEMP%\NsLookUp().%RANDOM%.txt
del "%NsluTmpFile%" >nul 2>&1
set CMD=nslookup.exe "%ToLookUp%" %DnsServer%
%CMD% > "%NsluTmpFile%" 2>nul
set FndName=N
for /F "usebackq delims=" %%l in ("%NsluTmpFile%") do (
set TITLE=
set VALUE=
for /f "tokens=1,2 delims=: " %%y in ("%%l") do set TITLE=%%y& set VALUE=%%z
if /I "!TITLE!" == "Server" set %~1_DNSSERVER=!VALUE!
if /I "!TITLE!" == "Name" set %~1_NAME=!VALUE!& set FndName=Y
if "!FndName!" == "Y" if /I "!TITLE!" == "Address" set %~1_IP=!VALUE!
if "!FndName!" == "Y" if /I "!TITLE!" == "Aliases" set %~1_ALIASES=!VALUE!
)
del "%NsluTmpFile%" >nul 2>&1
goto :EOF