| The Code for: "NsLookup() [Look up DNS servers].cmd" |
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
Please note that that I am not trying to show how great I am by producing batch files 9,000 characters long on one line that no one will understand or be able to debug when they go wrong. I am going out of my way to comment the code and make it verbose so beginners and advanced users will both benefit. I don't claim to be an expert that knows everything, if I'm wrong or make a mistake then please contact me and let me know :-)
![]() | ![]() |