Tôi có một tệp bó:
arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx
ipconfig /flushdns
Làm cách nào tôi có thể thực hiện hai lệnh này trên Windows XP, cứ sau 10 giây?
Tôi có một tệp bó:
arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx
ipconfig /flushdns
Làm cách nào tôi có thể thực hiện hai lệnh này trên Windows XP, cứ sau 10 giây?
Câu trả lời:
Điều này làm cho 10 giây. sự chậm trễ:
timeout /t 10
vì vậy hãy thử điều này:
:loop
arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx
ipconfig /flushdns
timeout /t 10
goto loop
/t
HOẶC để nhấn bất kỳ phím nào - có thể tắt bằng cách gửi /NOBREAK
param :)
Hãy thử cái này:
:loop
arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx
ipconfig /flushdns
ping localhost -n 11 > nul
goto loop
Lệnh ping sẽ thực thi trong 10 giây và tất cả đầu ra sẽ được chuyển hướng đến thiết bị NUL, nghĩa là bạn sẽ không thấy đầu ra từ lệnh ping. Nó thực sự hoạt động như một lệnh "ngủ".
:top
arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx
ipconfig /flushdns
sleep 10
goto top
Chỉnh sửa: Như đã đề cập trong các nhận xét, SLEEP
sẽ không có sẵn trong một cài đặt bình thường. Bạn sẽ cần một cái gì đó như Bộ tài nguyên Windows 2003 hoặc một số mẹo khác để mô phỏng nó (mẹo ping mà Bruno đề cập) và các ghi chú để làm như vậy có thể được tìm thấy ở đây .
choice
có thể nó không được bao gồm trong tiêu chuẩn. Tôi sẽ xem xét nó nhiều hơn.
Giải pháp chính xác hơn ping máy chủ không tồn tại một lần và đặt thời gian chờ
ping 1.0.0.0 -n 1 -w 10000> không
Nhưng nó tạo ra lưu lượng ký sinh trùng
Bạn có thể sử dụng lệnh for
và 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
)
Bạn có thể sử dụng ping -n [secs+1] localhost >nul
để chờ một khoảng thời gian nhất định tính bằng giây.
goto
.
Lừa đảo:
Sử dụng lệnh này để tạm dừng lô trong 10 giây
sự lựa chọn / n / t: c, <10> / c: cc
Bây giờ, đặt nó trong một vòng lặp không bao giờ kết thúc trong lô và voilà!
choice
đã đến với XP và sau đó, hoặc ít nhất là tôi chưa thấy nó trên bất kỳ bản cài đặt nào gần đây.
bên dưới, nó vừa là một cách xấu xí vừa là một tệp đẹp của Windows - nó tiêu tốn rất nhiều thời gian của cpu để không làm gì cả, nhưng nó làm những gì bạn muốn và rất tuyệt.
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