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
Please also mark the comments that contributed to the solution of the article
Content-Key: 113620
Url: https://administrator.de/contentid/113620
Printed on: April 25, 2024 at 10:04 o'clock
5 Comments
Latest comment
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