@echo off
ping -t localhost|find /v ""|cmd /q /v:on /c "for /l %%a in (0) do (set "data="&set /p "data="&if defined data echo(!time! !data!)"
नोट : कोड एक बैच फ़ाइल के अंदर इस्तेमाल किया जाएगा। कमांड लाइन से उपयोग करने के लिए के %%a
साथ बदलें%a
पिंग शुरू करें, एक सही लाइन बफ़र किए गए आउटपुट को बाध्य करें ( find /v
), और cmd
विलंबित विस्तार के साथ एक प्रक्रिया शुरू करें जो सक्षम है कि पाइप डेटा को पढ़ने वाले एक अनन्त लूप करेगा जो कि वर्तमान समय के साथ उपसर्ग किए गए कंसोल को प्रतिध्वनित करेगा।
2015-01-08 संपादित : तेज / नई मशीनों / ओएस संस्करणों में पिछले कोड में एक सिंक्रनाइज़ेशन समस्या है, जिससे set /p
रीड को एक लाइन ping
मिलती है जबकि कमांड अभी भी इसे लिख रहा है और परिणाम लाइन कट हैं।
@echo off
ping -t localhost|cmd /q /v /c "(pause&pause)>nul & for /l %%a in () do (set /p "data=" && echo(!time! !data!)&ping -n 2 localhost>nul"
सब्सक्रिप्शन pause
की शुरुआत में दो एडिशनल कमांड शामिल किए गए हैं (केवल एक का उपयोग किया जा सकता है, लेकिन जैसा कि pause
एक इनपुट चरित्र का उपभोग करता है, इनपुट डेटा की प्रतीक्षा करने के लिए एक सीआरएलएफ जोड़ी टूट जाती है और एलएफ के साथ एक पंक्ति पढ़ी जाती है) और एक ping -n 2 localhost
शामिल है आंतरिक लूप में प्रत्येक पढ़ने के लिए एक सेकंड प्रतीक्षा करें। परिणाम एक अधिक स्थिर व्यवहार और कम CPU उपयोग है।
नोट: इनर ping
को एक के साथ बदला जा सकता है pause
, लेकिन फिर प्रत्येक रीड की गई लाइन का पहला कैरेक्टर इसके द्वारा भस्म हो जाता है pause
और इसके द्वारा प्राप्त नहीं होता हैset /p