पाठ फ़ाइल में हर IP पते को पिंग करें?


9

हम कहते हैं कि मेरे पास कुछ कंप्यूटर नामों (प्रत्येक पंक्ति == 1 नाम) के साथ एक पाठ फ़ाइल है:

computerA
computerB
computerC
...

क्या ऐसा बैच फ़ाइल बनाना संभव है जो इन सभी कंप्यूटरों को पिंग कर रहा हो? और वास्तव में एक पिंग एक बड़ा आउटपुट है। मुझे timeया अन्य जानकारी की आवश्यकता नहीं है ; मैं बस यह जानना चाहूंगा कि वह पहुंच योग्य है या नहीं। कोई विचार?


अब यह काम कर रहा है! समस्या लोमड़ी की तरह थी, कि मैंने अपनी बैच फ़ाइल को नाम दिया ping.batऔर पिंग भी एक कमांड है इसलिए यह काम नहीं किया। मैंने अपनी बैच फ़ाइल का नाम बदल दिया है और अब सब कुछ ठीक है।


1
को देखो forआदेश, विशेष रूप से फ़ाइल पार्स मोड।
Damien_The_Unbeliever

जवाबों:


12

इसे इस्तेमाल करे:

@echo off
for /f "delims=" %%a in (computerlist.txt) do ping -n 1 %%a >nul && (echo %%a ok) || (echo %%a failed to respond) 
pause

यदि आपको रिक्त स्थान या विषम वर्णों के साथ फ़ाइल नाम या पथ का (computerlist.txt)उपयोग करना है, तो उपयोग के बजाय( ' type "c:\folder\computer file.txt" ' )


मैं देख रहा हूं कि cmd बहुत जल्द पॉप अप कर रहा है और फिर यह चला गया है। यहां तक ​​कि अंत में ठहराव या नींद के साथ मैं कोई आउटपुट नहीं देखता हूं।
सबीसबी

ऊपर दिए गए संपादित कोड को आज़माएं जिसमें ठीक प्रतिक्रिया शामिल है।

कोई बदलाव नहीं, यह अजीब है। मैं ठीक उसी कोड को कॉपी करता हूं (ठीक है मैं फ़ाइल नाम बदल देता हूं) जैसा कि आपने वहां एक टेक्स्टफाइल में पोस्ट किया है -> मुझे यह एक के रूप में है। कोई भी आउटपुट। मैं जीत XP का उपयोग कर रहा हूँ, यह एक समस्या हो सकती है?
सबीसाबी

आपके पथ \ फ़ाइल नाम में संभवतः स्थान हैं। इसके बजाय (computerlist.txt) उपयोग ('टाइप "c: \ folder \ computer file.txt"')

3
वही तुम्हारी भूल है। हमेशा याद रखें कि बैच फ़ाइल का नामकरण करते समय आपको कमांड के नाम का उपयोग करने से बचना चाहिए। आपके मामले में बैच फ़ाइल के अंदर पिंग कमांड, पिंग बैच फ़ाइल को निष्पादित कर रहा है, न कि पिंग कमांड को।

4
@Echo OFF

For /F "Usebackq Delims=" %%# in (
    "List.txt"
) do (
    Echo+
    Echo [+] Pinging: %%#

    Ping -n 1 "%%#" 1>nul && (
        Echo     [OK]) || (
        Echo     [FAILED])
)

Pause&Exit

आउटपुट:

[+] Pinging: www.google.com
    [OK]

[+] Pinging: ffff
    [FAILED]

जब मैं अपना शुरू करता हूं। तो मुझे आउटपुट [+] पिंगिंग: कंप्यूटरए दिखाई देता है, लेकिन फिर विंडो गायब हो रही है।
सबीसबी

आपने मेरी स्क्रिप्ट को बिना किसी बदलाव के बंद कर दिया है?
इलेक्ट्रोस्टूडिओस

वैसे मैंने फ़ाइल का नाम बदल दिया है, लेकिन वह है
सबीसबी

@sabisabi: बैच फ़ाइल "मैन्युअल रूप से" एक मौजूदा कमांड प्रॉम्प्ट से शुरू करें जिसे आप त्रुटि संदेश पढ़ने में सक्षम होंगे। "डबल क्लिक करें" बैच फ़ाइलें जिन्हें आपको परीक्षण करना है।
a_horse_with_no_name

@a_horse_with_no_name अगर मैं .bat फ़ाइल को cmd (ping.bat) के माध्यम से शुरू करता हूं -> कोई नई विंडो नहीं है और मेरा cmd खुद को बिना किसी संदेश के बंद कर रहा है
sabisabi

1

एक वैकल्पिक जिसे आप देखना चाह सकते हैं वह है PowerShell का उपयोग करना:

cls;
ForEach ($targetComputer in (Get-Content C:\installs\computerlist.txt)) {
    if (Test-Connection -ComputerName $targetComputer -Count 1 -Quiet) {
        "$targetComputer - Ping OK"
    } else {
        "$targetComputer - Ping FAIL"
    }
}

C: \ Install \ ComputerList.txt के प्रतियोगियों को बदलें और आप दूर हैं :)

यहां छवि विवरण दर्ज करें


0

मैंने एक पिंग टूल बनाया जो सेटिंग के लिए एक कॉन्फिग फाइल का उपयोग करता है जो आईपी के पिंग है और 12 cmd तक की विंडो बनाता है और उन्हें आपकी स्क्रीन पर साइड-बाय-साइड रखता है। प्रत्येक विंडो का शीर्षक, फ़ाइल से भी विवरण में वर्णन है।

यह आपकी स्क्रीन का आकार दिखाता है, लेकिन वर्तमान में केवल 1920x1080 और 1600x900 का समर्थन करता है। यद्यपि आप मैन्युअल रूप से अधिक रिज़ॉल्यूशन बना सकते हैं। जानकारी के लिए credit.txt देखें।

हेलफायर पिंगटेस्ट v1.0


0

आप मेरे द्वारा विकसित टूल का उपयोग करने की कोशिश कर सकते हैं - ccmd - समान कार्यों के साथ मदद करने के लिए, यह कई लक्ष्यों के खिलाफ किसी भी टर्मिनल कमांड को चलाता है, लक्ष्य सीएसवी पाठ फ़ाइल में दिए जा सकते हैं जैसे:
# यह एक टिप्पणी लाइन है
#target, विवरण; कमांड (डिफ़ॉल्ट - पिंग)
8.8.8.8
1.1.1.1 #
नीचे कमांड {टारगेट} को 8.8.4.4
8.8.4.4, google DNS, पिंग -n 1 -w 500 {लक्ष्य}
192.168.1.0/30, मेरे साथ बदल दिया जाएगा सबनेट
bbc.com, यह bbc न्यूज़ साइट है

name.txt में उपरोक्त फाइल को सेव करें और स्क्रिप्ट को -s ऑप्शन के साथ इंगित करें, डिफ़ॉल्ट रूप से यह पिंग कमांड चलाएगा यदि कोई अन्य कमांड नहीं दी गई है।
इसे साथ चलाएं:
ccmd.exe -s name.txt -b 10 -c 30 से
पता चलता है कि आउटपुट: https://i.stack.imgur.com/23zxQ.png

पाइथन पर लिखी गई स्क्रिप्ट लेकिन ccmd.exe vesion है, जिसे सीधे विंडोज़ पर चलाया जा सकता है। डिफ़ॉल्ट विवरण द्वारा कमांड लॉग आउटपुट को ./LOG/ फ़ोल्डर में सहेजा जाता है।

स्रोत: https://github.com/apraksim/ccmd

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.