Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Batch Pingliste mit Log File

Frage Entwicklung Batch & Shell

Mitglied: Mini25

Mini25 (Level 1) - Jetzt verbinden

20.03.2009, aktualisiert 12:00 Uhr, 4598 Aufrufe, 4 Kommentare

Hallo Leute!

Ich möchte gerne PC-Namen aus einem Textfile pingen. Ist der Ping erfolgreich, so soll in der Log Datei ein Eintrag erscheinen.

Bsp: PC12345 Ping erfolgreich


Hat der Ping nicht funktioniert, so soll kein eintrag in die Log-Datei geschrieben werden.

Bisher bin ich so weit gekommen:

01.
for /f %%i in (C:\hostnames.txt) do ( 
02.
alive /Repeat=8 /Timeout=3 %%i  
03.
if %ERRORLEVEL% == 0 Goto error 
04.
if not %ERRORLEVEL% == 0 goto erfolg 
05.
:erfolg 
06.
echo %%i ping erfolgreich >> hallo.log goto ende 
07.
:error 
08.
echo fehler >> hallo.log goto ende 
09.
:ende 
10.
)
Mit freundlichen Grüßen
Mini25




[Edit Biber] Code als Code formatiert und Beitrag nach Batch & Shell verschoben. [/Edit]
Mitglied: bastla
20.03.2009 um 14:03 Uhr
Hallo Mini25!

Wenn nur bei Erfolg (=Errorlevel ungleich 0) ein Eintrag ins Log vorgenommen werden soll, könnte Folgendes reichen:
01.
for /f %%i in (C:\hostnames.txt) do alive /Repeat=8 /Timeout=3 %%i || echo %%i ping erfolgreich>>hallo.log
Ansonsten sollte es auch so gehen:
01.
for /f %%i in (C:\hostnames.txt) do ( 
02.
    alive /Repeat=8 /Timeout=3 %%i  
03.
    if ERRORLEVEL 1 goto :erfolg 
04.
    echo fehler >> hallo.log & goto :ende 
05.
    :erfolg 
06.
    echo %%i ping erfolgreich >> hallo.log goto ende 
07.
    :ende 
08.
)
Grüße
bastla
Bitte warten ..
Mitglied: Mini25
20.03.2009 um 15:12 Uhr
Hallo bastla!

Ich habe keine Ahnung wiesos nicht geht.

im Moment sieht mein Code so aus:

01.
@echo off 
02.
for /f %%i in (C:\hostnames.txt) do (  
03.
 
04.
set pcn=%%i 
05.
 
06.
alive /Repeat=5 /Timeout=1 %%i   
07.
 
08.
if Errorlevel 0 goto erfolg  
09.
echo fehler >> hallo.log 
10.
goto ende 
11.
 
12.
:erfolg  
13.
echo %pcn% ping erfolgreich >> hallo.log  
14.
goto ende  
15.
 
16.
:ende  
17.
echo fehler 
18.
)
Allerdings nimmt er da immer nur den ersten Wert aus der Liste. Die Schleife funktioniert noch nicht so richtig. Wenn bei

:ende nix mehr steht, so kommt ein Syntaxfehler


Ich wäre froh wenn ihr mir da etwas weiter helfen könnt.

Mit freundlichen Grüßen
Mini25
Bitte warten ..
Mitglied: bastla
20.03.2009 um 16:13 Uhr
Hallo Mini25!

Oben hattest Du noch Errorlevel 1 für den Erfolgsfall ...

Ein "if errorlevel 0" ist sinnlos, da immer zutreffend - die Abfrage bedeutet nämlich "if errorlevel >=0"; daher eher so:
01.
@echo off & setlocal 
02.
for /f %%i in (C:\hostnames.txt) do (  
03.
    alive /Repeat=5 /Timeout=1 %%i   
04.
    if Errorlevel 1 (echo fehler >> hallo.log) else (echo %%i ping erfolgreich >> hallo.log) 
05.
)
Alternativ dazu kannst Du die Zeilen 3 und 4 zusammenfassen zu
alive /Repeat=5 /Timeout=1 %%i || (echo fehler >> hallo.log) && (echo %%i ping erfolgreich >> hallo.log)
Grüße
bastla
Bitte warten ..
Mitglied: 60730
20.03.2009 um 16:14 Uhr
Servus,

leicht OT:
"alive" - bist du Kiss fan ? - bzw. welches Tool benutzt du denn?
"mini25" - wenn nicht kiss fan, dann Fan einer kleinen Kiste mit 12" Rädern?

Anyway - poste mal einen Schnippsel deiner C:\hostnames.txt - vielleicht liegt da der Hund begraben.


gruß
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Batch & Shell
gelöst Kl. Frage: Log-File schreiben per Batch (3)

Frage von Yauhun zum Thema Batch & Shell ...

Batch & Shell
gelöst ( Batch ) Open File or Folder Dialog (5)

Frage von clragon zum Thema Batch & Shell ...

Windows 10
Batch: Copy file.txt Lokaler Drucker (1)

Frage von fluluk zum Thema Windows 10 ...

Batch & Shell
"Generic" Drucker mit batch - File erstellen (6)

Frage von MrPreesident zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (17)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

DSL, VDSL
DSL-Signal bewerten (14)

Frage von SarekHL zum Thema DSL, VDSL ...