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
GELÖST

PROBLEM - Auswertung von Log-Dateien

Frage Entwicklung Batch & Shell

Mitglied: 72036

72036 (Level 1)

18.11.2008, aktualisiert 21:25 Uhr, 4157 Aufrufe, 6 Kommentare

Hallo,
ich habe eine Batch-Datei programmiert, mit der ich eine Datei von meinem Rechner in ein Verzeichnis auf einen Server kopieren kann.
Zudem habe ich mit dem Befehl: >> c:\log\logdatei.txt
eine Log-Datei schreiben lassen, die mir anzeigt ob die Übertragung geklappt hat oder nicht.
Soweit funktioniert das auch alles.

Nun habe ich aber ein Problem.
Die zu kopierende Datei soll nicht nur auf einen Server, sondern auf mehrere verschiedene kopiert werden.

Jetzt brauche ich hierzu auch eine Log-Datei, die mir nicht nur anzeigt, ob das geklappt hat oder nicht.
Sie müsste mir auch anzeigen können, auf welchen Servern ein Problem bei der Übertragung aufgetreten ist, damit man dort den Vorgang nochmal wiederholen kann.

Kann mir hierbei jemand helfen??

Alina
Mitglied: Tsocin
18.11.2008 um 13:57 Uhr
Da du mit Batch arbeitest:

echo Kopiere Datei nach server12345 >> c:\log\logdatei.txt

Das ganze mit dem entsprechenden Servernamen vor den copy-Befehl setzen und schon taucht im Logfile immer die obige Zeile auf, darunter das Ergebnis des Kopiervorgangs (wie bisher).


Grüße
Bitte warten ..
Mitglied: 72036
18.11.2008 um 14:05 Uhr
Ich habe das jetzt soweit ausprobiert.
Es hat auch geklappt, dass die obige Zeile immer im Logfile auftaucht und darunter das Ergebnis des Kopiervorgangs.
Das Problem ist jetzt nur, dass wenn es nicht funktioniert, immer noch dieselbe Zeile dort auftaucht und nicht mehr, dass es einen Fehler gab.

Grüße
Bitte warten ..
Mitglied: 72036
18.11.2008 um 14:19 Uhr
So ich habe mir jetzt nochmal genauer Gedanke über deinen Hinweis gemacht, Tsocin und jetzt klappt alles.
Ich habe den Befehl jetzt so aufgeteilt, dass es "zwei verschiedene Wege" gibt:

Zunächst gebe ich ein, was ich kopieren möchte und wohin:
copy "zu kopierende Datei" "Zielverzeichnis"

Anschließend gebe ich "zwei mögliche Wege" vor:
if errorlevel 1 goto no (Übertragung hat nicht geklappt)
if errorlevel 0 goto yes (Übertragung hat geklappt)

:no (falls Übertragung nicht geklappt hat, folgt er diesem Weg)
echo Fehler bei Kopieren der Datei nach "Servername">> c:\log\logdatei.txt (diese Nachricht erscheint)
rem echo no
rem
cls
echo *
echo * *
echo Daten nicht uebertragen!!!
echo * *
echo
*
pause
goto ende


:yes (falls Übertragung geklappt hat, folgt er diesem Weg)
echo Kopiere Datei nach "Servername">> c:\log\logdatei.txt (diese Nachricht erscheint)

cls
echo *
echo * *
echo * Alle Daten wurden uebertragen *
echo * *
echo *

rem echo off

goto ende


Vielen Dank nochmal für deinen Hinweis
Hat mir echt sehr geholfen.

Grüße Alina
Bitte warten ..
Mitglied: miniversum
18.11.2008 um 20:10 Uhr
Nur als kleiner Verbesserungsvorschlag.
Wenn du nur nach errorlevel 0 (also erfolgreiche Kopie) prüfst udn alles andere als Fehlerhaft ansiehst klapt es auch wen du z.B. mal einen anderen Errorlevel größer 1 hast.

copy "zu kopierende Datei" "Zielverzeichnis"
if errorlevel 0 goto yes else goto no

:no
...
:yes
...
Bitte warten ..
Mitglied: Biber
18.11.2008 um 21:25 Uhr
Hmmmjein, miniversum,

Die Aussage ist richtig, aber der Beweis/das Beispiel genau verkehrt herum.
if errorlevel 0 goto yes else goto no
Nochmal zum Nachturnen am CMD-Prompt.
Der Befehl "md" ohne Parameter erzeugt einen Fehler/ein ERROLEVEL größer 0.
Dann dürfte das hier:
[das ">" am Zeilenbeginn ist der Prompt, NICHT mit eintippen]
01.
>md 2>nul & if errorlevel 0 (echo errlevel 0) else echo errlevel-other 
02.
errlevel 0
...nicht passieren.....
Richtig(er) herum wäre es so:
01.
>md 2>nul & if not errorlevel 1 (echo errlevel 0) else echo errlevel-other 
02.
errlevel-other
-->denn "if not ErrorLevel 1" heißt ja auf deutsch "wenn ErrorLevel nicht 1 oder größer ist"
[schlaubergerModus an]
Etwas anderes wäre die Prüfung auf textuelle Gleichheit
01.
IF "%errorlevel%"=="0" goto :allesPrima
.... aber das knicken wir mal wieder ganz schnell...
[/schlaubergerModus aus]

Die lesbarste und stilistisch beste ist ohnehin der bastla-Standard
01.
 (irgendeinbefehl) || goto :Fehler 
02.
-bzw- 
03.
(irgendeinbefehl) && goto :keinFehler_oderZumindestKeinErrorlevelGesetzt
Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
Neue Wissensbeiträge
Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(9)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Heiß diskutierte Inhalte
Exchange Server
Exchange 2016 Standard Server 2012 R2 Hetzner Mail (36)

Frage von Datsspeed zum Thema Exchange Server ...

Verschlüsselung & Zertifikate
Mit Veracrypt eine zweite interne (non-system) Festplatte verschlüsseln (10)

Frage von Bernulf zum Thema Verschlüsselung & Zertifikate ...

Internet Domänen
Nameserver ein Geist? (7)

Frage von zelamedia zum Thema Internet Domänen ...

Microsoft Office
Übertrag in eine andere Tabelle (6)

Frage von charmeur zum Thema Microsoft Office ...