Batch - Formatierung der Ausgabedatei nicht so wie gewünscht
Hallo zusammen,
ich bin seit ein paar Tagen hier Mitglied und habe mir aus verschiedenen Vorlagen eine Batch zusammengestellt, um einen internen Netzwerkscan durchführen zu können. das Ergebnis wird in eine datei geschrieben.
Das Ergebnis ist so wie ich es möchte, allerdings ist die Zusammenstellung in der Datei nicht so wie gewünscht. Hier erst einmal die Batch:
Das Ergebnis in der Datei sieht so aus:
172.16.2.0;09.04.2009;16:16:33,72;Ping: Error
exchange;
172.16.2.1;09.04.2009;16:16:33,72;Ping: OK
faxserver;
172.16.2.2;09.04.2009;16:16:33,72;Ping: OK
172.16.2.3;09.04.2009;16:16:33,72;Ping: OK
printserver;
172.16.2.4;09.04.2009;16:16:33,72;Ping: OK
wisrv;
172.16.2.5;09.04.2009;16:16:33,72;Ping: OK
certsrv;
172.16.2.6;09.04.2009;16:16:33,72;Ping: OK
opensuse;
172.16.2.7;09.04.2009;16:16:33,72;Ping: Error
dms;
172.16.2.8;09.04.2009;16:16:33,72;Ping: Error
172.16.2.9;09.04.2009;16:16:33,72;Ping: Error
trmsrv6;
172.16.2.10;09.04.2009;16:16:33,72;Ping: OK
trmsrv7;
172.16.2.11;09.04.2009;16:16:33,72;Ping: OK
TESTNAVISION;
172.16.2.12;09.04.2009;16:16:33,72;Ping: OK
Mein Wunsch ist, das Hostname und IP, Datum, Zeit und Ping-Status in einer Zeile stehen. Kann mir da jemand einen Tipp geben.
Vielen Dank für Eure Mühe.
bubifix
ich bin seit ein paar Tagen hier Mitglied und habe mir aus verschiedenen Vorlagen eine Batch zusammengestellt, um einen internen Netzwerkscan durchführen zu können. das Ergebnis wird in eine datei geschrieben.
Das Ergebnis ist so wie ich es möchte, allerdings ist die Zusammenstellung in der Datei nicht so wie gewünscht. Hier erst einmal die Batch:
@ECHO OFF
SETLOCAL
CLS
ECHO Willkommen zum internen Netzwerk-Scan
ECHO.
SET /P ip_d=Geben Sie den Domain-Namen ohne Endung (bspw. t-online) ein:
SET /P ip=Geben Sie den über IP-Bereich (bspw. 190.1.2.) an:
SET /P ip_s=Geben Sie den Startwert ein:
SET /P ip_e=Geben Sie den Endwert (max. 254) ein:
SET log=%ip_d%_ip_scan.txt
IF EXIST %log% DEL %log% && ECHO. && ECHO Die existierende Datei %log% wurde erfolgreich entfernt!
IF EXIST %log% NEQ 0 ECHO Datei konnte nicht entfernt werden! & GOTO :eof
ECHO.
ECHO Der Scan startet jetzt...
ECHO.
FOR /L %%i IN (%ip_s%,1,%ip_e%) DO (
FOR /F "tokens=5 delims=. " %%A IN ('PING -a %ip%%%i -n 1 ^| FIND "[%ip%%%i]"') DO (
ECHO %%A;>> %log%
)
ping -n 1 -w 5 %ip%%%i|find "TTL=" && ECHO %ip%%%i;%DATE%;%TIME%;Ping: OK>> %log% || ECHO.%ip%%%i;%DATE%;%TIME%;Ping: Error>> %log%
)
ECHO.
ECHO.
ECHO Der interne Netzwerkscan von %ip%%ip_s% bis %ip%%ip_e% wurde beendet und erfolgreich in der Datei %log% gespeichert!
ECHO.
pause
Das Ergebnis in der Datei sieht so aus:
172.16.2.0;09.04.2009;16:16:33,72;Ping: Error
exchange;
172.16.2.1;09.04.2009;16:16:33,72;Ping: OK
faxserver;
172.16.2.2;09.04.2009;16:16:33,72;Ping: OK
172.16.2.3;09.04.2009;16:16:33,72;Ping: OK
printserver;
172.16.2.4;09.04.2009;16:16:33,72;Ping: OK
wisrv;
172.16.2.5;09.04.2009;16:16:33,72;Ping: OK
certsrv;
172.16.2.6;09.04.2009;16:16:33,72;Ping: OK
opensuse;
172.16.2.7;09.04.2009;16:16:33,72;Ping: Error
dms;
172.16.2.8;09.04.2009;16:16:33,72;Ping: Error
172.16.2.9;09.04.2009;16:16:33,72;Ping: Error
trmsrv6;
172.16.2.10;09.04.2009;16:16:33,72;Ping: OK
trmsrv7;
172.16.2.11;09.04.2009;16:16:33,72;Ping: OK
TESTNAVISION;
172.16.2.12;09.04.2009;16:16:33,72;Ping: OK
Mein Wunsch ist, das Hostname und IP, Datum, Zeit und Ping-Status in einer Zeile stehen. Kann mir da jemand einen Tipp geben.
Vielen Dank für Eure Mühe.
bubifix
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 113620
Url: https://administrator.de/contentid/113620
Ausgedruckt am: 22.11.2024 um 13:11 Uhr
5 Kommentare
Neuester Kommentar
Ich weis zwar nicht genau, was diese Zeile macht, aber geht das so?
alles ohne gewähr
FOR /L %%i IN (%ip_s%,1,%ip_e%) DO (
FOR /F "tokens=5 delims=. " %%A IN ('PING -a %ip%%%i -n 1 ^| FIND "[%ip%%%i]"') DO (
ping -n 1 -w 5 %ip%%%i|find "TTL=" && ECHO %%A;%ip%%%i;%DATE%;%TIME%;Ping: OK>> %log% || ECHO.%%A.%ip%%%i;%DATE%;%TIME%;Ping: Error>> %log%
)
)
alles ohne gewähr
Moin bubifix,
willkommen im Forum.
Andere Deine FOR-Konstruktion so ab:
Grüße
Biber
willkommen im Forum.
Andere Deine FOR-Konstruktion so ab:
@ECHO OFF & SETLOCAL
....
FOR /L %%i IN (%ip_s%,1,%ip_e%) DO (
FOR /F "tokens=5 delims=. " %%A IN ('PING -a %ip%%%i -n 1 ^| FIND "[%ip%%%i]"') DO (
ping -n 1 -w 5 %ip%%%i|find "TTL=" && ECHO %%A %ip%%%i;%DATE%;%TIME%;Ping: OK>> %log% || ECHO.%%A %ip%%%i;%DATE%;%TIME%;Ping: Error>> %log%
))
...
Grüße
Biber