Saya punya file batch:
arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx
ipconfig /flushdns
Bagaimana saya bisa melakukan dua perintah ini pada Windows XP, setiap 10 detik?
Saya punya file batch:
arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx
ipconfig /flushdns
Bagaimana saya bisa melakukan dua perintah ini pada Windows XP, setiap 10 detik?
Jawaban:
ini membuat 10 detik. menunda:
timeout /t 10
jadi coba ini:
:loop
arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx
ipconfig /flushdns
timeout /t 10
goto loop
/t
ATAU untuk menekan tombol apa saja - yang dapat dimatikan dengan mengirim /NOBREAK
param :)
Coba yang ini:
:loop
arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx
ipconfig /flushdns
ping localhost -n 11 > nul
goto loop
Perintah ping akan dieksekusi selama 10 detik, dan semua output akan dialihkan ke perangkat NUL, artinya Anda tidak akan melihat output dari perintah ping. Ini memang berfungsi seperti perintah "sleep".
:top
arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx
ipconfig /flushdns
sleep 10
goto top
Sunting: Seperti disebutkan dalam komentar, SLEEP
tidak akan tersedia dalam pemasangan normal. Anda akan memerlukan sesuatu seperti Windows 2003 Resource Kit, atau beberapa trik lain untuk mensimulasikannya (ping trick Bruno menyebutkan), dan catatan untuk melakukannya dapat ditemukan di sini .
choice
itu mungkin tidak termasuk dalam standar. Saya akan melihat lebih dalam.
Solusi yang lebih tepat ping host yang tidak ada satu kali dan mengatur batas waktu
ping 1.0.0.0 -n 1 -w 10000> nul
Tapi itu menghasilkan traffic parasit
Anda dapat menggunakan perintah for
dan 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
)
Anda dapat menggunakan ping -n [secs+1] localhost >nul
untuk menunggu sejumlah waktu dalam hitungan detik.
goto
.
Curang:
Gunakan perintah ini untuk menjeda kumpulan selama 10 detik
pilihan / n / t: c, <10> / c: cc
Sekarang, letakkan di loop yang tidak pernah berakhir di batch dan voilà!
choice
datang dengan XP dan kemudian, atau setidaknya saya belum melihatnya di instalasi baru-baru ini.
di bawah ini, ini merupakan cara yang jelek dan indah, file batch Windows - ia menghabiskan banyak waktu cpu untuk tidak melakukan apa-apa, tetapi ia melakukan apa yang Anda inginkan dan sangat baik.
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