Batch schließt sich ohne Dienst -.-
Man würde glauben jetzt da ich doch schon länger batche und auch immer erst google usw. würden die Fragen weniger, aber denkste -.-
Mein Problem(chen) ist das die Batch sich einfach schließt ohne pingen und ohne eine Datei zu erstellen.
Wenn ich es in der Kommandoline probiere und zuvor natürlich die "%" kürze dann meint er das ping hier nicht verarbeitet werden kann, versteh nur leider nicht warum.
Naja vl. sieht den Fehler ja wer, wäre nett.
lg mc-dy
Wenn ich es in der Kommandoline probiere und zuvor natürlich die "%" kürze dann meint er das ping hier nicht verarbeitet werden kann, versteh nur leider nicht warum.
Naja vl. sieht den Fehler ja wer, wäre nett.
@echo on
set /p ip="IP eingeben die gepingt werden soll: "
if "%ip%"=="" goto:eof
if "%ip%"=="exit" goto:eof
set name=%date:~6,4%-%date:~3,2%-%date:~0,2%_%time:~0,2%-%time:~3,2%_%ip%
echo.
echo Zum Beenden des Dauerpings einfach das Fenster schliessen!
:start
for /f %%i ('ping -n 1 %ip% | findstr "Ant"') do @set issue=%%i
echo %issue% - %date% - %time:~0,8% >> %name%.log
goto start
lg mc-dy
Please also mark the comments that contributed to the solution of the article
Content-Key: 160846
Url: https://administrator.de/contentid/160846
Printed on: April 23, 2024 at 08:04 o'clock
9 Comments
Latest comment
moin,
ein - der erste Blick sagt mir:
btw: Batche zum Testen immer in einer vorher selbst geöffneten Dosbuxse starten, nie per Doppelklick.
Und einzelne Befehlszeilen gerne solo ohne die Batch drumrum testen, dann klappert das auch mit dem Storch
Gruß
ein - der erste Blick sagt mir:
for /f %%i ('ping -n 1 %ip% | findstr "Ant"')
- Da fehlt mindestens ein in vor der sich öffnenden Klammer.
- In der Klammer darf kein | stehen - außer es ist mit ^ maskiert.
- Dann vermute ich - du willst mit der Schleife irgendwas bewirken - wahrscheinlich sowas
for /f "tokens=5" %i in ('ping -n 1 %ip% ^| findstr "Ant"') do echo %i
btw: Batche zum Testen immer in einer vorher selbst geöffneten Dosbuxse starten, nie per Doppelklick.
Und einzelne Befehlszeilen gerne solo ohne die Batch drumrum testen, dann klappert das auch mit dem Storch
Gruß
ping
"-Ausgabe vorfor /f %%i in ('ping -n 1 %ip% ^| findstr "Ant"') do set "issue=%%i"
echo %issue:<=^<% - %date% - %time:~0,8% >> %name%.log
Grüße
bastla
@bastla:
na dann - leg ich auch noch einen drauf...
ich schliesse den Dienst am Dienstag ab und die Diensttüre hinter mir mir zu.
Grüße
na dann - leg ich auch noch einen drauf...
set /p ip="IP eingeben die gepingt werden soll: "
- bedeutet ja - mit irgendeiner wechselnden IP soll Pong Ping gespielt werden und leerzeichen mögen wir ja auch nicht
echo %ip%,%issue:<=^<% - %date% - %time:~0,8%>> %name%.log
btw: Batch schließt sich ohne Dienstich schliesse den Dienst am Dienstag ab und die Diensttüre hinter mir mir zu.
Grüße
@t-mo
Die IP steckt schon im Namen des Logfiles ...
Allerdings sollte noch ein
ganz knapp vor Zeile 14 platziert werden - damit auch bemerkt wird, wenn aus der "
... und in diesem Fall ev auch das Schreiben ins Log dankend abgelehnt werden kann:
Grüße
bastla
Die IP steckt schon im Namen des Logfiles ...
Allerdings sollte noch ein
set "issue="
for
"-Schleife nix mehr kommt ...... und in diesem Fall ev auch das Schreiben ins Log dankend abgelehnt werden kann:
if defined issue >>%name%.log echo %issue:<=^<% - %date% - %time:~0,8%
bastla
- hüstel - Urlaubsreifer und blinder, als ich es die letzten Tage bin, geht wohl nicht mehr hoffentlich
damit auch bemerkt wird, wenn aus der "
for
"-Schleife nix mehr kommt ...Naja, ob wir es überhaupt bemerken, dass wir uns bei diesem Fred für den Job des Alleinunterhalters beworben haben?
Das Postfach vom TO müßte doch schon vollgelaufen sein ""
Aber ich schweife vom Thema ab...
Apropos schweifen
edit - nein - die hast du wohl reingebastelt (um "das" zu umgehen?)
edit² noop - Gänsefüsse kann man wieder ohne Schnickschnack setzen.
edit³ dafür wird aus nem Smile ein Facewink usw.
N8 & Grüße
[OT]
Moin mc-doubleyou,
Auf einem Büro-Kaffeebecher könnte ich mir das Muster vorstellen
Als Wohnzimmertapete wäre es mit ein wenig zu unruhig...
Grüße
Biber
[/OT]
Moin mc-doubleyou,
Zitat von @mc-doubleyou:
Auch hier habe ich so meine Problemchen zu verstehen was es mit <=^<% usw auf sich hat sieht mir nach einem tollen Muster aus ;)
Ich sach ma' so...Auch hier habe ich so meine Problemchen zu verstehen was es mit <=^<% usw auf sich hat sieht mir nach einem tollen Muster aus ;)
Auf einem Büro-Kaffeebecher könnte ich mir das Muster vorstellen
Als Wohnzimmertapete wäre es mit ein wenig zu unruhig...
Grüße
Biber
[/OT]
Hallo mc-w!
Mit dem Zeichen
Da in einer vollständigen (hatte nur kurz drübergeschaut und die Reduktion auf das erste Wort der Zeile nicht mitbekommen) Ergebniszeile eines "
eine Ersetzung vorgenommen - aus "<" würde "^<"; wenn's eh nicht vorkommt, ist das auch egal: wenn nix zu ersetzen ist, wird auch nix ersetzt ...
Fall 2:
löscht die Variable - neu gesetzt wird sie nur, wenn "
Grüße
bastla
Mit dem Zeichen
^
wird der Interpreter angewiesen, das folgende Zeichen nicht zu interpretieren, sonden es einfach so (als gewöhnlichen Text) zu verwenden (wird auch "maskieren" genannt) - das ist nur bei bestimmten Sonderzeichen, die eben ansonsten eine andere Bedeutung haben, sinnvoll/notwendig.Da in einer vollständigen (hatte nur kurz drübergeschaut und die Reduktion auf das erste Wort der Zeile nicht mitbekommen) Ergebniszeile eines "
ping
" (wünschenswerter Weise) die Zeitangabe "<1 ms" vorkommen kann, wollte ich auf Nummer sicher gehen und dieses Zeichen (das ansonsten ja als Eingabe-Umleitung gedeutet würde) "maskieren" - dazu wird eben mit%issue:<=^<%
Fall 2:
set "issue="
ping
" eine Zeile mit "Antwort" liefert, da ansonsten der "do
"-Teil der "for
"-Schleife ja gar nicht ausgeführt wird. Du kannst daher nach der Schleife prüfen, ob ein (neuer) Wert in der Variablen steht oder es sie gar nicht gibt (sie also "not defined
" wäre). Bei Deiner ursprünglichen Version wird sie nie gelöscht, und egal, welches Ergebnis "ping
" erbringt, hat sie nach der Schleife einen Wert - den neuen, oder den vom letzten Mal, als noch eine "Antwort"-Zeile zu verzeichnen war ...Grüße
bastla