Batch-File - Rückgabe eines Befehls weiterverarbeiten
Verfasst: Montag 29. August 2011, 20:43
Moin ihrs,
versuche gerade die Ausgabe des bekannten ping-Befehls weiterzuverarbeiten.
Folgender Code funktioniert zwar, speichert aber die Ausgabe in einer Datei zwischen. Das müsste sich doch auch noch eliminieren lassen.
so ganz hab ich die mittlere Zeile auch noch nicht durchschaut, warum sie eigentlich funktioniert. Ursprünglich steckte da noch eine Funktion dazwischen, die die letzte Zeile der Ping-Ausgabe auslas und in eine weitere Datei schrieb, von wo sie dann mit der mittleren Zeile gelesen und der Wert für den Paketverlust nach %lost% geschrieben wurde.
Funktioniert unerwarteter Weise aber auch, wenn man die Datei mit der gesamten Ping-Ausgabe als Quelle dort einsetzt ohne explizit die letzte Zeile freizustellen.
Nunja, wie auch immer, letzten Endes wäre es schön, wenn man dort überhaupt keine Datei mehr beschreibt. Die mittlere Zeile zu ersetzen mit
Irgendwer eine Idee?
versuche gerade die Ausgabe des bekannten ping-Befehls weiterzuverarbeiten.
Folgender Code funktioniert zwar, speichert aber die Ausgabe in einer Datei zwischen. Das müsste sich doch auch noch eliminieren lassen.
Code: Alles auswählen
ping %1 -n 1 -w 200 > C:\pingtest.txt
for /F "tokens=11" %%i in (pingtest.txt) do set lost=%%i
IF NOT [%lost%]==[(0%%] GOTO VERLOREN
Funktioniert unerwarteter Weise aber auch, wenn man die Datei mit der gesamten Ping-Ausgabe als Quelle dort einsetzt ohne explizit die letzte Zeile freizustellen.
Nunja, wie auch immer, letzten Endes wäre es schön, wenn man dort überhaupt keine Datei mehr beschreibt. Die mittlere Zeile zu ersetzen mit
klappt hingegen nicht. Egal ob man den ping-Befehl nochmal in Klammern packt oder nicht.for /F "tokens=11" %%i in (ping %1 -n 1 -w 200) do set lost=%%i
Irgendwer eine Idee?