De afgelopen weken heb ik enorme last van een slechte verbinding bij UPC.
Om hen van de juiste info te kunnen voorzien wil ik enkel batch files maken die logs maken.
Het wil me alleen niet helemaal lukken. Nou moet ik erbij zeggen dat ik tamelijk nieuw ben bij batch ''scripting" (gisteren begonnen), maar deze simpele batch wil maar niet lukken.
Hieronder een script dat elke 30 seconde moet pingen naar mijn DNS bij UPC en naar mijn modem.
De replies of time-outs worden opgeslagen en weggeschreven met datum en tijd in een text bestand.
Waar het stuk loopt is bij het label pingmodem, op regel 40.
Zoals het nu staat geeft command de foutmelding "The system cannot find the file specified".
Wanneer ik het %modem% wijzig naar %local% werkt het evenmin. Maar het werkt weer wel wanneer er %dns% staat.
Ik zie niet waar ik een fout heb gemaakt en staar me eigen blind op die ene regel.
Wie kan me op de fout wijzen? Uiteraard zijn tips en tricks welkom!
ter info: ik draai Win7 Ultimate x64 SP1. In de map van het script is ook sleep.exe aanwezig.
Om hen van de juiste info te kunnen voorzien wil ik enkel batch files maken die logs maken.
Het wil me alleen niet helemaal lukken. Nou moet ik erbij zeggen dat ik tamelijk nieuw ben bij batch ''scripting" (gisteren begonnen), maar deze simpele batch wil maar niet lukken.
Hieronder een script dat elke 30 seconde moet pingen naar mijn DNS bij UPC en naar mijn modem.
De replies of time-outs worden opgeslagen en weggeschreven met datum en tijd in een text bestand.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
| @ECHO OFF&& PUSHD&& SETLOCAL ENABLEDELAYEDEXPANSION&& SETLOCAL ENABLEEXTENSIONS :: R. Langenberg | Sunday 22/09/2012 version: 1 :: This batchfile pings your DNS and modem every 30 seconds and logs the results. :: Please set your DNS and modem IP adresses below SETLOCAL&& set dns=217.46.228.196 SETLOCAL&& set modem=192.168.0.1 SETLOCAL&& set local=127.0.0.1 :: Begin :AGAIN CALL :time ECHO Starting run on %date% %now% CALL :pingdns CALL :pingmodem CALL :logresults ECHO End of this run. Next run in 29 seconds...&& ECHO. SLEEP 29 GOTO AGAIN :: The ECHO command below indicates an error in the above code when executed. ECHO ERROR - ERROR - ERROR - ERROR ENDLOCAL SLEEP 30 :time FOR /F "tokens=*" %%T in ('TIME /T') do SET now=%%T GOTO :EOF :pingdns ECHO Pinging your DNS at %dns% with 32 bytes FOR /F "tokens=1,2,3,5 delims= " %%A in ('PING %dns% -n 1 ^| FINDSTR /I "Reply Request"') do SET ping1=%%A %%B %%C %%D ECHO %ping1% GOTO :EOF :pingmodem ECHO Pinging your modem at %modem% with 32 bytes FOR /F "tokens=1,2,3,5 delims= " %%G in ('PING %modem% -n 1 ^| FINDSTR /I "Reply Request"') do SET ping2=%%G %%H %%I %%J ECHO %ping2% GOTO :EOF :logresults ECHO Logging results to file ..^\results.txt ECHO %date% %now% %ping1% %ping2% >> results.txt ENDLOCAL GOTO :EOF :: END |
Waar het stuk loopt is bij het label pingmodem, op regel 40.
Zoals het nu staat geeft command de foutmelding "The system cannot find the file specified".
Wanneer ik het %modem% wijzig naar %local% werkt het evenmin. Maar het werkt weer wel wanneer er %dns% staat.

Ik zie niet waar ik een fout heb gemaakt en staar me eigen blind op die ene regel.
Wie kan me op de fout wijzen? Uiteraard zijn tips en tricks welkom!
ter info: ik draai Win7 Ultimate x64 SP1. In de map van het script is ook sleep.exe aanwezig.