Ich habe eine Batch-Datei:
arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx
ipconfig /flushdns
Wie kann ich diese beiden Befehle unter Windows XP alle 10 Sekunden ausführen?
Ich habe eine Batch-Datei:
arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx
ipconfig /flushdns
Wie kann ich diese beiden Befehle unter Windows XP alle 10 Sekunden ausführen?
Antworten:
das ergibt eine 10 sek. verzögern:
timeout /t 10
Also versuche folgendes:
:loop
arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx
ipconfig /flushdns
timeout /t 10
goto loop
/t
OR angegebene Zahl zum Drücken einer beliebigen Taste - die durch Senden von /NOBREAK
param :) ausgeschaltet werden kann
Probier diese:
:loop
arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx
ipconfig /flushdns
ping localhost -n 11 > nul
goto loop
Der Ping-Befehl wird 10 Sekunden lang ausgeführt, und die gesamte Ausgabe wird an das NUL-Gerät umgeleitet. Dies bedeutet, dass Sie keine Ausgabe des Ping-Befehls sehen. Es funktioniert in der Tat wie ein "Schlaf" -Befehl.
:top
arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx
ipconfig /flushdns
sleep 10
goto top
Bearbeiten: Wie in den Kommentaren erwähnt, SLEEP
wird in einer normalen Installation nicht verfügbar sein. Sie benötigen etwas wie das Windows 2003 Resource Kit oder einen anderen Trick, um es zu simulieren (der Ping-Trick, den Bruno erwähnt). Hinweise dazu finden Sie hier .
choice
es möglicherweise nicht standardmäßig enthalten ist. Ich werde es mir genauer ansehen.
Genauere Lösung Pingen Sie einmal einen nicht vorhandenen Host und legen Sie eine Zeitüberschreitung fest
ping 1.0.0.0 -n 1 -w 10000> nul
Aber es erzeugt Parasitenverkehr
Sie können den Befehl for
und verwenden ping
:
@echo off
for /l %%a in (0,0,0) do (
arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx
ipconfig /flushdns
ping -n 11 localhost >nul
)
Mit können Sie ping -n [secs+1] localhost >nul
eine bestimmte Zeit in Sekunden warten.
goto
.
Betrügen:
Verwenden Sie diesen Befehl, um den Stapel für 10 Sekunden anzuhalten
Auswahl / n / t: c, <10> / c: cc
Legen Sie es jetzt in eine Endlosschleife in der Reihe und voilà!
choice
XP und höher verfügbar sind, oder zumindest habe ich es bei den letzten Installationen nicht gesehen.
Im Folgenden ist es sowohl eine hässliche als auch eine schöne Art und Weise, eine Windows-Batchdatei - es verbraucht viel CPU-Zeit, um nichts zu tun, aber es tut, was Sie wollen und ist so schön.
SETLOCAL EnableDelayedExpansion
::in seconds
set time2stop=10
:loop1
arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx
ipconfig /flushdns
for /f "tokens=1,2* delims=:" %%i in ("!time!") do (
set hour1=%%i
set min1=%%j
set sec1=%%k
)
for /f "tokens=1* delims=," %%i in ("!sec1!") do (
set isec1=%%i
)
:loop2
for /f "tokens=1,2* delims=:" %%i in ("!time!") do (
set hour2=%%i
set min2=%%j
set sec2=%%k
)
for /f "tokens=1* delims=," %%i in ("!sec2!") do (
set isec2=%%i
)
set /a delta=3600*(!hour2!-!hour1!)+60*(!min2!-!min1!)+(!isec2!-!isec1!)
if !delta! geq !time2stop! goto end2
goto loop2
:end2
@echo on
goto loop1