मेरे पास एक बैच फ़ाइल है:
arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx
ipconfig /flushdns
मैं विंडोज एक्सपी पर हर 10 सेकंड में इन दोनों कमांडों को कैसे कर सकता हूं?
मेरे पास एक बैच फ़ाइल है:
arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx
ipconfig /flushdns
मैं विंडोज एक्सपी पर हर 10 सेकंड में इन दोनों कमांडों को कैसे कर सकता हूं?
जवाबों:
यह एक 10 सेकंड बनाता है। देरी:
timeout /t 10
तो यह कोशिश करो:
:loop
arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx
ipconfig /flushdns
timeout /t 10
goto loop
/t
किसी भी कुंजी को दबाने के लिए OR में निर्दिष्ट संख्या - जिसे /NOBREAK
परम भेजकर बंद किया जा सकता है :)
इसको आजमाओ:
:loop
arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx
ipconfig /flushdns
ping localhost -n 11 > nul
goto loop
पिंग कमांड 10 सेकंड के लिए निष्पादित करेगा, और सभी आउटपुट को NUL डिवाइस पर पुनर्निर्देशित किया जाएगा, जिसका अर्थ है कि आप पिंग कमांड से कोई आउटपुट नहीं देखेंगे। यह वास्तव में एक "नींद" कमांड के रूप में काम करता है।
:top
arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx
ipconfig /flushdns
sleep 10
goto top
संपादित करें: जैसा कि टिप्पणियों में बताया गया है, SLEEP
एक सामान्य इंस्टॉल में उपलब्ध नहीं होगा। आपको विंडोज 2003 रिसोर्स किट जैसी किसी चीज़ की ज़रूरत होगी, या इसे अनुकरण करने के लिए कोई अन्य ट्रिक (पिंग ट्रिक ब्रूनो उल्लेख), और ऐसा करने के लिए नोट्स यहाँ मिल सकते हैं ।
choice
यह मानक द्वारा शामिल नहीं किया जा सकता है। मैं इसे और अधिक देखूंगा।
अधिक सटीक समाधान एक बार अनजाने मेजबान को पिंग करना और टाइमआउट सेट करना
पिंग 1.0.0.0-एन 1 -w 10000> nul
लेकिन यह परजीवी यातायात उत्पन्न करता है
आप कमांड for
और 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
)
आप ping -n [secs+1] localhost >nul
सेकंड में एक निश्चित समय की प्रतीक्षा करने के लिए उपयोग कर सकते हैं ।
goto
।
धोखा:
10 सेकंड के लिए बैच को रोकने के लिए इस कमांड का उपयोग करें
पसंद / एन / टी: सी, <10> / सी: सीसी
अब, इसे एक कभी न खत्म होने वाले लूप में बैच और वायलिया में रखें!
choice
XP और बाद में आया, या कम से कम मैंने इसे किसी भी हाल के इंस्टॉल पर नहीं देखा है।
नीचे, यह एक बदसूरत और एक सुंदर तरीका है, एक विंडोज बैच फ़ाइल - यह कुछ भी नहीं करने के लिए बहुत से CPU समय की खपत करता है, लेकिन यह वही करता है जो आप चाहते हैं और इतना अच्छा है।
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