Vollständige Version anzeigen : Pingen mit einer BATchdatei
Katana und Wakizashi
18-11-2009, 11:50
Hallo,
Ich möchte eine BATchdatei erstellen, welche ständig Pingt und alle Fehler in C:\ping.txt schreibt
Für die ganze Liste kam ich auf dies:
ping -t xxxxxxx >C:\ping.txt
mfg Katana und Wakizashi
Edit: Ich bin ein Batch-noob
Edit2: Währe ein IF/THEN/ELSE wie im Excel möglich?
Wenn Du nur Fehler erfassen willst, kommst Du um ein wenig scripten nicht drumrum. Hier findest Du schon mal Hinweise:
Hey, Scripting Guy! Blog : Why Doesn't My Ping Script Run on Windows 2000 Computers? (http://blogs.technet.com/heyscriptingguy/archive/2004/09/14/why-doesn-t-my-ping-script-run-on-windows-2000-computers.aspx)
Katana und Wakizashi
18-11-2009, 11:58
Danke Viel mals, meine Englischkenntnise sind leider nicht so toll....
Hi,
versuch mal so:
ping XXXXXXX >> c:\ping.txt 2>&1
so landet der ganze Output in c:\ping.txt. Die Datei wird bei jedem Ausführen fortgesetzt. Und so:
ping XXXXXXX > c:\ping.txt 2>&1
wird sie jedes Mal neu erstellt (überschrieben).
Gruß.
Danke Viel mals, meine Englischkenntnise sind leider nicht so toll....
Dann steig mal hier ein:
Wie Ping ich einen PC mit VBS - administrator (http://www.administrator.de/index.php?content=65598#258929)
na mit
ping XXXXX -t
wird das Ping einfach laufen, bis du die Batch abbrichst.
gion toji
18-11-2009, 12:05
So wie ich das sehe, ist das Problem nicht, die Ausgaben von ping zu speichern, sondern nur die Fehlerausgaben rauszufiltern
ich habe jetzt kurz mit ping auf XP rumexperimentiert und folgendes rausgefunden:
ping -n 1 google.de setzt ERRORLEVEL auf 0
ping -n 1 lkjerlk.de setzt ERRORLEVEL auf 1 <- Fehler
D.h. du könntest eine Endlosschleife machen, darin pingen und dann je nach Errorlevel das Ergebnis wegspeichern
nicht schön, aber hässlich :rolleyes:
alternativ könntest du dir natürlich auch ein richtiges Betriebssystem nichtkaufen :cool:
..
ich habe jetzt kurz mit ping auf XP rumexperimentiert und folgendes rausgefunden:
ping -n 1 google.de setzt ERRORLEVEL auf 0
ping -n 1 lkjerlk.de setzt ERRORLEVEL auf 1 ...
:verbeug:
That's it !
mit "-n Zahl" gibst du die Anzahl der Echoaufforderungen. Die Fehler werden über Kanal 2 ausgegeben, sonst geht der Output über Kanal 1. Deswegen
bewirkt
ping XXXXXXX -t >> c:\ping.txt 2>&1
dass der ganze Output in die Datei umgeleitet wird - auch die Fehler, wie gewollt. Auf den Bildschirm wird nicht ausgegeben.
gion toji
18-11-2009, 12:28
mit "-n Zahl" gibst du die Anzahl der Echoaufforderungen. ja, das ist auch so gewollt
dass der ganze Output in die Datei umgeleitet wird - auch die Fehler, wie gewollt. genau das ist doch das Problem: alle Ausgaben landen in der gleichen Datei. Ich habe die Aufgabe so verstanden, daß nur die Ausgaben im Fehlerfall in der Datei landen sollen. Hätte man ein Tool, das reguläre Ausdrücke versteht, dann könnte man den ganzen Wust auseinanderklamüseln
Wenn man i-wie ausschließlich stderr (heisst er bei windows auch so?) wegloggen könnte, dann wäre das Problem gelöst
ach so verstehe. Dann so:
ping XXXXXXX -t > c:\ping.txt >&2
Damit leitest du nur die Fehler in die Datei um. Falls der Host (das Ziel) da ist, erscheint der Output auf dem Bildschirm.
SeanMates
20-11-2009, 11:47
Villeicht solltest du kurz erleutern warum du pingen willst ?
Und warum Batch ?
vBulletin v4.2.5, Copyright ©2000-2025, Jelsoft Enterprises Ltd.