Per Batch Datei Ping senden wenn Ping Erfolgreich Test ausgeben !
Hallo,
Ich möchte per Batch-Datei einen Ping senden.
Beispiel:
@echo off
ping 192.168.0.1
cmd /k
Das Funktioniert auch bereits.
Ist es jedoch möglich, wenn der Ping erfolgreich war bzw.
Eine Antwort von der IP-Adresse gekommen ist
einen Text aus zu geben ?
Beispielsweise:
"Die Verbindung ist vorhanden"
und wenn die Verbindung vorhanden ist bzw. der Ping
erfolgreich gesendet wurde mit einem "OK-Button" die Batch-Datei zu beenden.
und wenn der Ping nicht erfolgreich war einen Text aus zu geben
Beispielsweise:
"Das Gerät konnte nicht erreicht werden bitte Überprüfen sie die Verbindung"
und mit einen "Wiederholen-Button" den Ping nochmals zu senden
vielen Dank im voraus für die Hilfe.
Ich möchte per Batch-Datei einen Ping senden.
Beispiel:
@echo off
ping 192.168.0.1
cmd /k
Das Funktioniert auch bereits.
Ist es jedoch möglich, wenn der Ping erfolgreich war bzw.
Eine Antwort von der IP-Adresse gekommen ist
einen Text aus zu geben ?
Beispielsweise:
"Die Verbindung ist vorhanden"
und wenn die Verbindung vorhanden ist bzw. der Ping
erfolgreich gesendet wurde mit einem "OK-Button" die Batch-Datei zu beenden.
und wenn der Ping nicht erfolgreich war einen Text aus zu geben
Beispielsweise:
"Das Gerät konnte nicht erreicht werden bitte Überprüfen sie die Verbindung"
und mit einen "Wiederholen-Button" den Ping nochmals zu senden
vielen Dank im voraus für die Hilfe.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 321008
Url: https://administrator.de/forum/per-batch-datei-ping-senden-wenn-ping-erfolgreich-test-ausgeben-321008.html
Ausgedruckt am: 22.12.2024 um 11:12 Uhr
19 Kommentare
Neuester Kommentar
Moin,
hat mich auch interessiert und daher Google befragt:
Die Doku von Hannes Schurig fand ich super:
Möchte man die tatsächliche Erreichbarkeit des Ziel-Clients erfassen ist folgender Weg nötig:
1 set ipnetz=192.168.178
2 set serverip=88
3 ping %ipnetz%.%serverip% -n 2 -w 1000 -l 2000
4 if %errorlevel%==1 echo Fehler
Mit -l wird die Größe des Ping Pakets bestimmt, -w bestimmt die Wartezeit in Millisekunden. Beide Parameter in Kombination sorgen dafür, dass der Ping nur noch eine Zeitüberschreitung oder einen Erfolg liefern kann. Das Verwenden von Errorlevel ist somit also sicher.
Alternative:
1 ping %server_ip_complete% -n 1 | find /i "TTL" >nul 2>&1
2 if errorlevel 1 (
3 echo Server offline
4 )
Ähnliche Suchbegriffe sollten Dir auch hier direkt auf der Seite weiterhelfen.
cheerz, RF
hat mich auch interessiert und daher Google befragt:
Die Doku von Hannes Schurig fand ich super:
Möchte man die tatsächliche Erreichbarkeit des Ziel-Clients erfassen ist folgender Weg nötig:
1 set ipnetz=192.168.178
2 set serverip=88
3 ping %ipnetz%.%serverip% -n 2 -w 1000 -l 2000
4 if %errorlevel%==1 echo Fehler
Mit -l wird die Größe des Ping Pakets bestimmt, -w bestimmt die Wartezeit in Millisekunden. Beide Parameter in Kombination sorgen dafür, dass der Ping nur noch eine Zeitüberschreitung oder einen Erfolg liefern kann. Das Verwenden von Errorlevel ist somit also sicher.
Alternative:
1 ping %server_ip_complete% -n 1 | find /i "TTL" >nul 2>&1
2 if errorlevel 1 (
3 echo Server offline
4 )
Ähnliche Suchbegriffe sollten Dir auch hier direkt auf der Seite weiterhelfen.
cheerz, RF
Servus,
also ich hatte mir mal eine kleine Batch gebastelt, die IPs aus einer Datei (ip.list) pingt und das Ergebnis in ein Logfile (result.log) schreibt...
also ich hatte mir mal eine kleine Batch gebastelt, die IPs aus einer Datei (ip.list) pingt und das Ergebnis in ein Logfile (result.log) schreibt...
@echo off
setlocal enabledelayedexpansion
:start
FOR /f %%f IN (ip.list) DO (
set "Erfolg=NEIN"
set "Zeit="
for /f "tokens=7 delims==< " %%i in ('ping -n 1 %%f^|findstr "TTL"') do (
set "Zeit= - %%i"
set "Erfolg=JA"
)
>>result.log echo %%f - %date%-%time% - !Erfolg!!Zeit!
)
goto start
Zitat von @teamdj:
ich wollte aber gerne das eine Meldung per Msgbox erscheint "ob der Ping Erfolgreich war"
wenn der Ping Erfolgreich war dann mit OKButton bestätigen
wenn ncht erfolgreich war dann mit Wiederholen-Button
ich wollte aber gerne das eine Meldung per Msgbox erscheint "ob der Ping Erfolgreich war"
wenn der Ping Erfolgreich war dann mit OKButton bestätigen
wenn ncht erfolgreich war dann mit Wiederholen-Button
Moin,
insbesondere hier würde ich empfehlen, mal in AUTOIT zu schauen. Das Freewaretool ist
gigantisch und die Befehle hast Du ja soweit schon. Da ist Popup und alles kein Problem.
Schau mal die Beispiele an.
Aber Du kannst doch alternativ die Meldung ne Weile einblenden und danach automatisch mit
Wiederholen weitermachen. Was sonst würdest Du denn anklicken?
cheerz
RF
Mit VBS gibt es auch nen "Button":
Datei: pingding.vbs
Datei: pingding.vbs
Set WshShell = CreateObject("WScript.Shell")
repeat = True
ip = "127.0.0.1"
Do
PINGFlag = Not CBool(WshShell.run("ping -n 1 " & ip,0,True))
If PINGFlag = True Then
m = MsgBox("Ping erfolgreich",vbOKOnly,"OK")
repeat = False
Else
m = MsgBox("Ping NICHT erfolgreich." & chr(10) & chr(13) & "Wiederholen?",vbRetryCancel,"Nicht OK")
If m = 2 Then repeat = False
If m = 4 Then repeat = True
End If
Loop While repeat
Zitat von @teamdj:
wäre aber schön wenn ich den Ablauf in einem Fenster verfolgen könnte
was im Hintergrund passiert.
das hatten wir doch schon. Im Grunde kann das doch durchlaufen, wenn Du eh davor sitztwäre aber schön wenn ich den Ablauf in einem Fenster verfolgen könnte
was im Hintergrund passiert.
und der bat zugucken willst kannst Du ja noch die Farbe für den Hintergrund in rot bei Fehler
und grün bei Erfolg einfärben (Befehl: color) ... ist dann bestimmt nett anzuschauen...
btw: was schafft ihr da den ganzen Tag
cheerz, RF
Die Zeilenumbrüche lassen ich mit dem
realisieren.
Also z.B.:
"Text" & chr(10) & chr(13) & "Text"
chr(10) & chr(13)
Also z.B.:
"Text" & chr(10) & chr(13) & "Text"
m = MsgBox("Die Verbindung zum Web-IQ war erfolgreich !" & chr(10) & chr(13) & "Sollten die Wäschen weiterhin nicht übertragen werden, liegt ein anderes Problem an !" & chr(10) & chr(13) & chr(10) & chr(13) & "Wenden Sie sich bitte an Sit-Pay" & chr(10) & chr(13) & "Herr Hübner Tel 040 - 2442405586",vbOKOnly,"Verbindung zum Web-IQ ERFOLGREICH !")
Was soll da groß passieren?
Es wird gepingt und je nach Ergebnis "True" oder "False" gesetzt...
Wenn du dem Ping zuschauen willst, dann nimm eine Batch-Datei:
z.B.:
Datei: ip.list
192.168.2.201
Datei: pingding.bat
@echo off
setlocal enabledelayedexpansion
:start
FOR /f %%f IN (ip.list) DO (
set "Erfolg=NEIN"
set "Zeit="
for /f "tokens=7 delims==< " %%i in ('ping -n 1 %%f^|findstr "TTL"') do (
set "Zeit= - %%i"
set "Erfolg=JA"
)
echo %%f - %date%-%time% - !Erfolg!!Zeit!
)
goto start
Hi teamdj,
das war auch nur als Spass zu verstehen. Aber Danke für die Hintergründe.
Ich würde da über die Farben nochmal nachdenken, das kapiert jeder, keiner
muss was klicken und das sieht man auch durch ne Fensterscheibe.
Klicken wollen die bestimmt auch nix.
COLOR 2F alles schön grün
COLOR 1C alles schön in rot
timeout /T 15 ( wartet 15 sec damit man ne Fehlermeldung lesen kann)
cheerz, RF
das war auch nur als Spass zu verstehen. Aber Danke für die Hintergründe.
Ich würde da über die Farben nochmal nachdenken, das kapiert jeder, keiner
muss was klicken und das sieht man auch durch ne Fensterscheibe.
Klicken wollen die bestimmt auch nix.
COLOR 2F alles schön grün
COLOR 1C alles schön in rot
timeout /T 15 ( wartet 15 sec damit man ne Fehlermeldung lesen kann)
cheerz, RF
Hallo zusammen
ich habe eine Frage ich hab jetzt den Befehl genommen und will die IP Adresse vor der Abfrage immer ändern können. Könnt ihr mir bitte helfen?
Set WshShell = CreateObject("WScript.Shell")
repeat = True
ip = ""
Do
PINGFlag = Not CBool(WshShell.run("ping -n 1 " & ip,0,True))
If PINGFlag = True Then
m = MsgBox("Ping erfolgreich",vbOKOnly,"OK")
repeat = False
Else
m = MsgBox("Ping NICHT erfolgreich." & chr(10) & chr(13) & "Wiederholen?",vbRetryCancel,"Nicht OK")
If m = 2 Then repeat = False
If m = 4 Then repeat = True
End If
Loop While repeat
ich habe eine Frage ich hab jetzt den Befehl genommen und will die IP Adresse vor der Abfrage immer ändern können. Könnt ihr mir bitte helfen?
Set WshShell = CreateObject("WScript.Shell")
repeat = True
ip = ""
Do
PINGFlag = Not CBool(WshShell.run("ping -n 1 " & ip,0,True))
If PINGFlag = True Then
m = MsgBox("Ping erfolgreich",vbOKOnly,"OK")
repeat = False
Else
m = MsgBox("Ping NICHT erfolgreich." & chr(10) & chr(13) & "Wiederholen?",vbRetryCancel,"Nicht OK")
If m = 2 Then repeat = False
If m = 4 Then repeat = True
End If
Loop While repeat
Mir hat das von 2016 schon so gewaltig geholfen nur eben noch das Problem das ich nicht drauf komme wie ich das mit Variablen IP Adressen machen kann