एक पाठ फ़ाइल में पिंग आउटपुट सहेजें


16

मुझे अक्सर कनेक्टिविटी की स्थिति के लिए सर्वर को पिंग करना पड़ता है। क्या पाठ फ़ाइल में पिंग परिणामों (आउटपुट) को सहेजने का कोई तरीका है ताकि मैं पूरे दिन के पिंग परिणामों को एक पाठ फ़ाइल में सहेज सकूं।

मैं Windows XP SP3 का उपयोग कर रहा हूं।

पिंग उदाहरण:

ping 192.168.1.1 -t 

(using windows' ping)

या

ping 192.168.1.1

(using cygwin)

जवाबों:


17

उदाहरण के लिए पुनर्निर्देशन का उपयोग करें:

ping 192.168.1.1 -t > filename.txt

यह प्रोग्राम में से सभी (मानक) आउटपुट को रीडायरेक्ट करेगा filename.txt, जो कि अगर यह मौजूद नहीं है और अगर यह करता है तो इसे ओवरराइट कर दिया जाएगा।

आप उपयोग कर सकते हैं >>के बजाय >एक फाइल करने के लिए उत्पादन रीडायरेक्ट करने के लिए संलग्न फाइल के अंत में परिणाम है, बजाय अधिलेखन के (करने के लिए धन्यवाद के साथ @Jane टी अनुस्मारक के लिए)

ध्यान दें कि यदि आप ऐसा करते हैं तो आपको सामान्य ऑन-स्क्रीन आउटपुट प्राप्त नहीं होगा ।

टिप्पणी के जवाब में अपडेट करें

पिंग के बीच देरी करने और प्रत्येक के समय को रिकॉर्ड करने के लिए, आप कुछ स्क्रिप्टिंग कर सकते हैं।

यहां एक त्वरित विंडोज बैच फ़ाइल है जिसे मैंने एक साथ फेंक दिया है। यह समय प्रिंट करता है, Google को पिंग करता है, फिर खुद को दोहराने से पहले 3 सेकंड तक इंतजार करता है। मैं एक बैच फ़ाइल विशेषज्ञ नहीं हूँ, अगर किसी को कोई समस्या है तो कृपया उन्हें ध्वजांकित करें! और यह संभवतः "सबसे अच्छा" तरीका नहीं है जो आप प्राप्त करने के बाद करते हैं - जो वास्तव में एक अलग प्रश्न के लिए बना सकता है।

@ECHO OFF

:LOOPSTART

time /T
ping www.google.com -n 4
sleep -m 3000

GOTO LOOPSTART

इसे .batकहीं फ़ाइल में सहेजें , पिंग लक्ष्य और देरी समय संपादित करें जैसा कि आपको इसकी आवश्यकता है, फिर .batएक फ़ाइल में पूरी चीज़ के आउटपुट को पंप करने के लिए पुनर्निर्देशन का उपयोग करें।

ध्यान दें कि यह बैच फ़ाइल कभी समाप्त नहीं होती है , लेकिन Ctrl+ द्वारा समाप्त की जा सकती है Cऔर फिर Yयदि इससे चलती है cmd। (आपको वाई प्रेस करना चाहिए क्योंकि यह पूछता है कि क्या आप बैच फ़ाइल को रोकना चाहते हैं - भले ही आप सवाल नहीं देख सकते क्योंकि आपने आउटपुट को रीडायरेक्ट किया है!)


धन्यवाद! अच्छी तरह से काम करता है, क्या मैं हर पिंग के साथ वर्तमान समय दिखा सकता हूं, या क्या मैं दो पिंग्स के बीच की अवधि बदल सकता हूं
abel

2
आपको इसके लिए कुछ स्क्रिप्टिंग करनी होगी, पिंग आपके लिए ऐसा करने में सक्षम नहीं होगा।
अज़्ज़

Azz ने मुझे इसके लिए हराया - इसके लिए आपको pingकुछ अलग करने के लिए खुद को बदलने की आवश्यकता होगी , या कुछ दिलचस्प स्क्रिप्टिंग का प्रयास करना होगा - उदाहरण के लिए - एक टाइमस्टैम्प, पिंग, 10 सेकंड का इंतजार करें, दोहराएं।
DMA57361

यह सुनकर खुशी हो सकती है। अधिक की प्रतीक्षा कर रहा है। खिड़कियों की पटकथा इसके साथ कुछ भी करने के लिए मिली है
abel

2
"ताकि मैं पूरे दिन के पिंग परिणामों को एक टेक्स्ट फ़ाइल में सहेज सकूं" आपको आउटपुट फ़ाइल में डेटा को जोड़ने के लिए >> का उपयोग करना होगा।
जेन टी


2

यदि आप कमांड प्रॉम्प्ट का उपयोग कर रहे हैं, तो इस प्रारूप का उपयोग करके इसे एक टेक्स्ट फ़ाइल पर पुनर्निर्देशित करें

ping 192.168.1.1 > ping.txt

वह कर देगा।


2

मैंने स्क्रिप्ट लिखी है जो google.com को हर 5 सेकंड में पिंग करता है और वर्तमान समय के साथ परिणाम लॉग करता है। यहाँ आप "कमांडलाइन" (सूचकांकों के साथ) चर के आउटपुट पा सकते हैं

@echo off

:LOOPSTART

echo %DATE:~0% %TIME:~0,8% >> Pingtest.log

SETLOCAL ENABLEDELAYEDEXPANSION
SET scriptCount=1
FOR /F "tokens=* USEBACKQ" %%F IN (`ping google.com -n 1`) DO (
  SET commandLineStr!scriptCount!=%%F
  SET /a scriptCount=!scriptCount!+1
)
@ECHO %commandLineStr1% >> PingTest.log
@ECHO %commandLineStr2% >> PingTest.log
ENDLOCAL

timeout 5 > nul

GOTO LOOPSTART

1

यदि आप प्रदर्शन में पिंग परिणाम देखना चाहते हैं तो आप इस कोड का उपयोग कर सकते हैं

@ECHO OFF
:LOOPSTART
date /T >>Pingtest.log
time /T >>Pingtest.log
REM this line show you the ping results in display
ping 8.8.8.8 -n 1 

REM this line print the ping results in the log file
ping 8.8.8.8 -n 10 >>PingTest.log
sleep -m 1000
GOTO LOOPSTART

1

:: हर 1 सेकंड के बाद ISP को लिखिए और टेक्स्ट फाइल को तारीख, समय और परिणाम लिखिए

@ECHO OFF
:LOOPSTART
date /T >>Pingtest.log
time /T >>Pingtest.log
ping 8.8.8.8 -n 1 >>PingTest.log
sleep -m 1000
GOTO LOOPSTART
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.