Jag har en lång bakgrund i Microsoft-världen. I mitten på 90-talet gjorde jag min första bekantskap med MS-DOS 6 och Windows 3.1 på min första 486sx PC. Sedan dess har jag och kommandoprompten levt i symbios. Då handlade det om att jaga bytes för att optimera Windows, nu är det ren nätverksadministration.
Exemplet nedan är helt skapat ad-hoc. Det går säkert att göra snyggare, men jag behövde snabbt ett sätt att kolla när web-gränssnittet på en nätverksskrivare som jag körde en firmwareuppdatering på blev tillgängligt. ”Men PING då?” kanske nån utbrister. Ja, det fungerar, men eftersom nätverkslagret är aktivt mycket tidigare än operativsystemet på skrivaren så kommer PING att svara mycket tidigare än den inbyggda webservern.
In på banan kliver portping. Jag Googlade snabbt och valde av någon anledning den andra träffen i listan. Efter några rader batch-kod insåg jag att jag behövde ett sätt att få min snurra att vänta några sekunder innan den gick vidare. Google igen; sleep.exe. Denna gång blev det den tredje träffen i listan. Fråga mig inte varför…
Efter drygt en minut hade jag ett batch-script som gjorde en portping, rapporterade tid och FAIL/SUCCESS. Vid FAIL upprepades pingen. Vid SUCCESS pausade scriptet.
@ECHO OFF
:START
ECHO Pinging 1.2.3.4:443 at%time%
SET ERRORLEVEL=
portping -d 1.2.3.4 -p 443 >nul
IF ERRORLEVEL=3 GOTO REPEAT
IF ERRORLEVEL=0 GOTO SUCCESS:REPEAT
sleep 10 /quiet
GOTO START:SUCCESS
ECHO WE HAVE SUCCESS!
PAUSE
Jag gillar kommandoprompten.