Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
Kommentar vom Moderator Biber am 04.12.2010 um 23:45:40 Uhr
PS: Mist, das falsche Unterforum, kann das bitte jemand nach Entwicklung -> Batch verschieben?
Jepp - zum Beispiel der Beitragsersteller. Anmelden und auf "Editieren" des Beitrags klicken.
Danach lässt sich der Beitrag auch richtig hinschieben.
Aber ich kann das auch schnell machen.

Grüße
Biber

gelöst Ca. 200 Device per Ping abarbeiten und in eine Log-Datei schreiben

Mitglied: Mikefield

Mikefield (Level 1) - Jetzt verbinden

04.12.2010, aktualisiert 23:45 Uhr, 3859 Aufrufe, 11 Kommentare

Hallo Zusammen,

wir müssen mehrere IP-Adressen abfragen und das Ergebnis protokollieren.

Die IP-Liste (ca. 200 Einträge) sieht wie folgt aus:

01.
Type     Name              IP Address 
02.
AUDIX    france            10.200.199.40                            
03.
AUDIX    intuity           10.200.96.80                             
04.
IP       INDIA             10.181.130.5                             
05.
IP       SYD_DCTR          10.180.15.87                             
06.
IP       SYD_DCTR2         10.180.15.78                             
07.
IP       EMMC              10.200.96.140                            
08.
IP       NORTEL_ITALY      10.200.10.126                            
09.
IP       SP_ESS_1          10.200.96.21                             
10.
IP       SP_ESS_2          10.200.96.22                             
11.
IP       UK_ESS_1          10.203.149.241                           
12.
IP       UK_ESS_2          10.203.149.242                           
13.
IP       clan02a05         10.200.251.11                            
14.
IP       clan02b05         10.200.251.21                           
Es soll ein "normaler" Ping mit 4 Abfragen abgesetzt werden, das Ergebnis sollte wie folgt aussehen und in einer Datei gespeichert werden.
01.
Datum			Zeit			Type	Name			IP-Address	     Ping1	Ping2	Ping3	Ping4 
02.
04.12.2010	19:35:48,43	IP	SP_ESS_1	10.200.96.21	<1ms	<1ms	<1ms	<1ms 
03.
04.12.2010	19:35:48,43	IP	SP_ESS_2	10.200.96.21	<1ms	<1ms	<1ms	<1ms
Ist das so per Batch umsetzbar? Ich habe schon im Forum gesucht, aber leider nichts passendes gefunden.


mf

PS: Mist, das falsche Unterforum, kann das bitte jemand nach Entwicklung -> Batch verschieben?
Mitglied: bastla
04.12.2010 um 20:41 Uhr
Hallo Mikefield!

Ungetestet etwa so:
01.
@echo off & setlocal enabledelayedexpansion 
02.
set "Liste=D:\IP-Liste.txt" 
03.
set "Log=D:\Log.txt" 
04.
 
05.
>"%Log%" echo Datum			Zeit			Type	Name			IP-Address		Ping1	Ping2	Ping3	Ping4  
06.
for /f "usebackq tokens=1-3" %%a in ("%Liste%") do ( 
07.
    set "Zeile=!date!			!time!			%%a	%%b			%%c		" 
08.
    for /f "tokens=5" %%i in ('ping %%c^|findstr "TTL"') do for /f "delims=Zeit" %%t in ("%%i") do set "Zeile=!Zeile!	%%t" 
09.
    >>"%Log%" echo !Zeile:<=^<! 
10.
)
Grüße
bastla
Bitte warten ..
Mitglied: Mikefield
05.12.2010 um 09:28 Uhr
Hallo Bastla!

Danke für die schnelle Hilfe, habe es getestet, bekomme aber bei 5 Testeinträgen in der IP-Liste 6 Fehlermeldungen:
Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch.

Habe hier Windows 7 32bit, falls das eine Rolle spielt.


mf.
Bitte warten ..
Mitglied: bastla
05.12.2010 um 11:36 Uhr
Hallo Mikefield!

Wird vermutlich ein Sonderzeichen-Problem sein - es wäre daher sinnvoll (gewesen), die entsprechenden Einträge zu posten ...

Abgesehen davon kannst Du aus dem "echo off" in der ersten Zeile ein "echo on" machen und den Batch von der Kommandozeile starten - dann siehst Du, was abläuft.

Grüße
bastla
Bitte warten ..
Mitglied: Mikefield
05.12.2010 um 11:59 Uhr
Hallo Bastla!

Ich vermute es liegt am Schluß an der Ausgabe oder an diesem set Zeile. Die Einzelschritte funktionieren.

01.
F:\test>ping0 
02.
 
03.
F:\test>set "Liste=F:\Test\nodes.txt" 
04.
 
05.
F:\test>set "Log=F:\Test\Ping.txt" 
06.
 
07.
F:\test>for /F "usebackq tokens=1-3" %a in ("F:\Test\nodes.txt") do ( 
08.
set "Zeile=!date!                       !time!                  %a      %b 
09.
                %c              " 
10.
 for /F "tokens=5" %i in ('ping %c|findstr "TTL"') do for /F "delims=Zeit" %t i 
11.
 ("%i") do set "Zeile=!Zeile!   %t" 
12.
 echo !Zeile: 1>>"F:\Test\Ping.txt" 0<<! 
13.
14.
 
15.
F:\test>( 
16.
set "Zeile=!date!                       !time!                  Router  DSL2184 
17.
                192.168.150.1           " 
18.
 for /F "tokens=5" %i in ('ping 192.168.150.1|findstr "TTL"') do for /F "delims 
19.
Zeit" %t in ("%i") do set "Zeile=!Zeile!        %t" 
20.
 echo !Zeile: 1>>"F:\Test\Ping.txt" 0<<! 
21.
22.
 
23.
F:\test>for /F "delims=Zeit" %t in ("Zeit<1ms") do set "Zeile=!Zeile!   %t" 
24.
 
25.
F:\test>set "Zeile=!Zeile!      <1ms" 
26.
 
27.
F:\test>for /F "delims=Zeit" %t in ("Zeit<1ms") do set "Zeile=!Zeile!   %t" 
28.
 
29.
F:\test>set "Zeile=!Zeile!      <1ms" 
30.
 
31.
F:\test>for /F "delims=Zeit" %t in ("Zeit<1ms") do set "Zeile=!Zeile!   %t" 
32.
 
33.
F:\test>set "Zeile=!Zeile!      <1ms" 
34.
 
35.
F:\test>for /F "delims=Zeit" %t in ("Zeit<1ms") do set "Zeile=!Zeile!   %t" 
36.
 
37.
F:\test>set "Zeile=!Zeile!      <1ms" 
38.
Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung 
39.
ist falsch. 
40.
 
41.
F:\test>
mf
Bitte warten ..
Mitglied: bastla
05.12.2010 um 17:14 Uhr
Hallo Mikefield!

Wenn Deine "Nodes.txt" auch eine Zeile mit den Spaltenüberschriften enthält (ansonsten "skip=1" weg lassen), sollte das dann etwa so klappen (die Anzahl der enthaltenen TAB musst Du ev noch etwas anpassen):
01.
@echo off & setlocal enabledelayedexpansion 
02.
set "Liste=F:\Test\nodes.txt" 
03.
set "Log=F:\Test\Ping.txt" 
04.
 
05.
>"%Log%" echo Datum			Zeit			Type	Name		IP-Address		Ping1	Ping2	Ping3	Ping4 
06.
for /f "usebackq skip=1 tokens=1-3" %%a in ("%Liste%") do ( 
07.
    set "Zeile=!date!		!time!		%%a		%%b		%%c" 
08.
    for /f "tokens=5" %%i in ('ping %%c^|findstr "TTL"') do for /f "delims=Zeit" %%t in ("%%i") do set "Zeile=!Zeile!	%%t" 
09.
    >>"%Log%" echo !Zeile! 
10.
)
Grüße
bastla
Bitte warten ..
Mitglied: Mikefield
05.12.2010 um 18:53 Uhr
Hallo Bastla!

Super, es funktioniert! Das mit den TABS werde ich dann noch korrigieren.
Macht es viel Aufwand noch eine Echo Ausgabe einzubauen, welches Device gerade verarbeitet, sprich angepingt wird?
Bei 200 Devices auf einen ewig blinkenden Kursor zu schauen fordert vie Geduld.

mf
Bitte warten ..
Mitglied: bastla
05.12.2010 um 20:07 Uhr
Hallo Mikefield!

Einfach zwischen Zeile 7 und 8 etwas in der Art:
echo Verarbeite: %%b	%%c
Grüße
bastla
Bitte warten ..
Mitglied: jeb-the-batcher
06.12.2010 um 00:19 Uhr
Hallo Mikefield,

statt 4*200 Sekunden zu warten, könnte man mehrere gleichzeitig abfragen.
Indem man "ping-tasks" startet und die Ausgabe in eine Datei Umleitet und dann analysiert.

Etwa sowas in der Art
01.
@echo off  
02.
setlocal enabledelayedexpansion 
03.
set "Liste=F:\Test\nodes.txt" 
04.
set "Log=F:\Test\Ping.txt" 
05.
>"%Log%" echo Datum			Zeit			Type	Name		IP-Address		Ping1	Ping2	Ping3	Ping4 
06.
 
07.
rem Pro Ping einen neuen Prozess asyncron im gleichen Fenster starten, ausgabe nach ping_IP.txt umleiten 
08.
for /f "usebackq skip=1 tokens=1-3" %%a in ("%Liste%") do ( 
09.
   start /b ping %%c > ping_%%c.txt 
10.
11.
 
12.
rem Abwarten, damit alle fertig sind 
13.
ping -n 5 localhost > nul  
14.
 
15.
rem Jetzt alle einlesen 
16.
for /f "usebackq skip=1 tokens=1-3" %%a in ("%Liste%") do ( 
17.
    set "Zeile=!date!		!time!		%%a		%%b		%%c" 
18.
    for /f "tokens=5" %%i in ('type ping_%%c.txt^|findstr "TTL"') do for /f "delims=Zeit" %%t in ("%%i") do set "Zeile=!Zeile!	%%t" 
19.
    >>"%Log%" echo !Zeile! 
20.
)
Grüße
jeb
Bitte warten ..
Mitglied: bastla
06.12.2010 um 00:27 Uhr
@jeb
Gute Idee
Frage am Rande: Welchen Vorteil hat
'type ping_%%c.txt^|findstr "TTL"'
gegenüber
'findstr "TTL" ping_%%c.txt'
?

Grüße
bastla
Bitte warten ..
Mitglied: jeb-the-batcher
06.12.2010 um 11:30 Uhr
Zitat von bastla:
@jeb
Gute Idee
Frage am Rande: Welchen Vorteil hat
'type ping_%%c.txt^|findstr "TTL"' 
> 
gegenüber
'findstr "TTL" ping_%%c.txt' 
> 
?

Grüße
bastla

Hallo bastla,

es gibt natürlich keinen Vorteil ich hab einfach den vorhanden Code möglichst wenig geändert.

Und außer bei Unicode/Codepage Problemen fällt mir auch kein Vorteil ein, bei dem ein type <file> [PIPE] besser wäre.

PS: Die Idee klappt auch, ich synchronisiere so immer mehrere Repositorys gleichzeitig, das spart deutlich Zeit

Gruß
jeb
Bitte warten ..
Mitglied: Mikefield
07.12.2010 um 21:10 Uhr
Hallo Jeb! Danke für die Alternative! Inzwischen ist das nicht mehr so tragisch mit den 4x200 Sekunden.
Das Script läuft inzwischen per Scheduler auf einem Kundenrechner, so daß die Verzögerungen die durch
eine VPN entstehen vermieden werden.

Vielen Dank auch an Bastla für die Unterstützung am Sonntag!

mf
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
CMD ausgabe in log schreiben
gelöst Frage von medikopterBatch & Shell9 Kommentare

Hallo, ich suche nach einer möglichkeit eine CMD ausgabe in ein log zu schreiben. Ich habe hier schon mehrere ...

Batch & Shell
Ping in eine Variable schreiben
gelöst Frage von Robin99Batch & Shell2 Kommentare

Ich bräuchte ein Programm, das den Ping abfrägt. Wenn er über 200 geht sollte ein Ton abgespielt werden oder ...

Ubuntu

Status Kopiervorgang mit dd in log schreiben

gelöst Frage von caspi-pirnaUbuntu3 Kommentare

Hallo zusammen, ich versuch seit vielen Stunden, einen Kopiervorgang, welcher per dd läuft, in ein LOG zu schreiben. Weder ...

SAN, NAS, DAS

Iomega StorCenter IX2-200 - ping OK aber keine Verbindung

gelöst Frage von bitshopSAN, NAS, DAS2 Kommentare

Hallo allerseits, ein Bekannter hat das Problem dass seine Iomega StorCenter IX2-200 via Netzwerk nicht mehr erreichbar ist. Ich ...

Neue Wissensbeiträge
Windows 10

Neue Sicherheitslücke in Windows 10 (Version 1709) durch Google öffentlich geworden

Information von kgborn vor 11 StundenWindows 10

Vor ein paar Tagen haben Googles Sicherheitsforscher vom Projekt Zero eine Sicherheitslücke im Edge-Browser publiziert. Jetzt wurde eine weitere ...

iOS
IOS 11.2.6 verfügbar
Information von sabines vor 16 StundeniOS

Mit dem Update soll der Bug behoben werden, bei dem eine bestimmte Zeichenkette IOS zum Absturz gebracht hat.

Sicherheit
Sicherheitsrisiko: Die Krux mit 7-Zip
Information von kgborn vor 1 TagSicherheit8 Kommentare

Bei vielen Anwendern ist das Tool 7-Zip zum Entpacken von Archivdateien im Einsatz. Die Software ist kostenlos und steht ...

Internet

Datendealing im WWW Tracking Methoden immer brutaler

Information von sabines vor 1 TagInternet

Interessanter Artikel zum Thema Tracking im WWW und die immer "besseren" Methoden des Trackings. Professor Arvind Narayanan (Princeton-Universität) betreibt ...

Heiß diskutierte Inhalte
Router & Routing
LANCOM VPN CLIENT einrichten
Frage von Finchen961988Router & Routing27 Kommentare

Hallo, ich habe ein Problem und hoffe ihr könnt mir helfen, wir haben einen Kunden der hat einen Speedport ...

Windows Server
AD DS findet Domäne nicht, behebbar?
Frage von schapitzWindows Server25 Kommentare

Guten Tag, ich habe bei einem Kunden ein Problem mit den AD DS. Umgebung ist folgende: Windows Server 2016 ...

LAN, WAN, Wireless
VPN Cisco ASA5505 PaloAlto PA-200
gelöst Frage von YannoschLAN, WAN, Wireless22 Kommentare

Hallo zusammen, ich würde gerne ein Site-to-Site VPN zwischen den beiden Standorten aufbauen. PaloAlto PA200 Internetanschluss Deutsche Telekom GK ...

SAN, NAS, DAS
Qnap TS-453S Pro - Anbindung Active Directory
Frage von JuckieSAN, NAS, DAS13 Kommentare

Hallo zusammen, ich habe hier eine Qnap TS-453S Pro die sich mal so absolut gar nicht in das Active ...