budders
Goto Top

Ping mit Variable in Datei

Moinmoin.
Ich habe einen Batch geschrieben, der eine IP pingen (sollte) und mir das Ergebnis ausgeben soll.

 
ping %ip3%>ping.tmp
for /f %%i in (ping.tmp) do (
	set ip2=%%i
	if %ip2:~0,4%=="Antw" goto sucess  
	if %ip2:~0,4%=="Zeit" goto fail  
)

die Variable ping3 enthält die IP, wurde vorher nur durch ein set /p x= definiert.

Doch in der Datei ping.tmp werden komischerweise alle vorher ausgeführten echo's ausgegeben...

Könnt ihr mir helfen?

Content-ID: 214578

Url: https://administrator.de/contentid/214578

Ausgedruckt am: 08.11.2024 um 13:11 Uhr

bastla
bastla 17.08.2013 aktualisiert um 20:49:29 Uhr
Goto Top
Hallo Budders!

Wenn's nur darum geht, zwischen "success" und "fail" zu unterscheiden, sollte etwas in der Art von
ping %ip3%|findstr "TTL">nul && goto :success  

echo fail
goto :eof

:success
echo success
genügen ...

Grüße
bastla
112778
112778 18.08.2013 um 01:38:55 Uhr
Goto Top
Hi, Budders,

unabhängig von bastlas Vorschlag würde dein Script so nie funktionieren, da deine Vergleichssyntax niemals ein brauchbares Ergebnis liefern würde.
Wenn du rechts Anführungszeichen verwendest, musst du sie links auch nutzen.

Gruß
bastla
bastla 18.08.2013 um 11:32:36 Uhr
Goto Top
@ EisPott
... wobei es nicht viel Unterschied macht, ob der Vergleich
~0,4=="Antw"
oder
"~0,4"=="Antw"
lautet ... face-wink

Grüße
bastla
112778
112778 18.08.2013 aktualisiert um 18:08:29 Uhr
Goto Top
@ bastla

es ging ja nur ums Prinzip, um die syntaktisch korrekte Verwendung. Ob im diesem speziellen Fall immer Stuss rauskommt, habe ich dabei mal außer Acht gelassen. face-smile

Gruß
bastla
bastla 18.08.2013 aktualisiert um 19:24:25 Uhr
Goto Top
@ EisPott
es ging ja nur ums Prinzip
Ist ja richtig - dann könntest Du aber zusätzlich die Verwendung der Temp-Datei, das (versuchte) Kürzen der Zeilen auf die ersten 4 Zeichen (in "%%i" steht ja ohnehin nur das erste Token) und das Springen aus einer "for"-Schleife hinterfragen ...

Grüße
bastla
112778
112778 18.08.2013 um 19:38:06 Uhr
Goto Top
Hi, bastla,
dann könntest Du aber zusätzlich .... hinterfragen ...

dazu bestand doch überhaupt keine Notwendigkeit, dein Einzeiler ist doch perfekt. face-smile

Gruß
bastla
bastla 18.08.2013 um 19:46:11 Uhr
Goto Top
@ EisPott
Danke für die Blumen ... face-smile

... auch wenn's eigentlich nicht mein Einzeiler ist, sondern mehr oder weniger die Standard-Vorgangsweise hier im Batch-Bereich.

Grüße
bastla
Budders
Budders 29.08.2013 um 08:28:12 Uhr
Goto Top
danke für eure Antworten, mal davon abgesehen, dass eure versionen top funktionieren, hatte ich den fehler gemacht den Batch "ping.bat" zu nennen, somit hatte ich immer einen sehr merkwürdigen fehler.
naja, jetzt ist alles geklärt face-smile wie immer sehr kompetente hilfe hier,
vielen dank face-smile
MfG Budders/Gerrit