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

Logfiles aus mehreren Unterverzeichnissen rekursiv in eine Datei kopieren

Frage Entwicklung Batch & Shell

Mitglied: ipzipzap

ipzipzap (Level 1) - Jetzt verbinden

01.05.2012, aktualisiert 07:18 Uhr, 3172 Aufrufe, 8 Kommentare

Hallo,

Ich habe hier ein Verzeichnis mit täglichen Logfiles, sortiert wiederum in Unterverzeichnissen:

\LOGFILES\DAILY\20120501\CLIENT01.LOG
\LOGFILES\DAILY\20120501\CLIENT02.LOG
\LOGFILES\DAILY\20120501\CLIENT03.LOG
...
\LOGFILES\DAILY\20120502\CLIENT01.LOG
\LOGFILES\DAILY\20120502\CLIENT02.LOG
\LOGFILES\DAILY\20120502\CLIENT03.LOG
...
\LOGFILES\DAILY\20120503\CLIENT01.LOG
\LOGFILES\DAILY\20120503\CLIENT02.LOG
\LOGFILES\DAILY\20120503\CLIENT03.LOG
...

Diese Logs möchte ich nun in eine einzige Datei kopieren, z.B. nach:

\LOGFILES\DAILY\LOGS.LOG

Ich lese mich jetzt hier schon zwei Tage durch, aber eine funktionierende Lösung für mein Problem kann ich bis jetzt leider nicht finden.
Jemand eine Idee, wie ich das Problem lösen kann? Oder ist dies mit Batch nicht möglich?


Danke im Voraus,
ippi
Mitglied: 60730
01.05.2012 um 08:12 Uhr
Moin,

Hmm anhand deiner letzten zeile erkenne ich, dass du in zwei tagen aber wenig im batch bereich gesucht hast, denn dort schreibt jeder, danke immer gerne, wenn man gehilft hat aber blosss nicht vorher.


Also was brauchst du?
Eine batch, die eine schleife durchackert und nach dateien mit der suffix log in einem uebergeordnetetn ordner jahrmonattag sucht und die zu einer zusammenfasst?

Hmmm

For /r oder for /? Oder das tut zur for schleife
Type %a>>neues.logfile oder type /?
Oder copy neues.log + %a neues.log

Gruebel...

Gruss
Bitte warten ..
Mitglied: ipzipzap
01.05.2012 um 08:40 Uhr
Hmm anhand deiner letzten zeile erkenne ich, dass du in zwei tagen aber wenig im batch bereich gesucht hast, denn dort schreibt
jeder, danke immer gerne, wenn man gehilft hat aber blosss nicht vorher.

Ok, ich hab gesucht, aber nichts gefunden, was ich verstehe

Also was brauchst du?
Eine batch, die eine schleife durchackert und nach dateien mit der suffix log in einem uebergeordnetetn ordner jahrmonattag sucht
und die zu einer zusammenfasst?

Ja genau
Bitte warten ..
Mitglied: 60730
01.05.2012 um 09:09 Uhr
Zitat von ipzipzap:
Ok, ich hab gesucht, aber nichts gefunden, was ich verstehe
ach so, versteh ich nicht

Also was brauchst du?
Eine batch, die eine schleife durchackert und nach dateien mit der suffix log in einem uebergeordnetetn ordner jahrmonattag sucht und die zu einer zusammenfasst?
*mea culpa, aber diese Frage war rhetorischer Natur

Ja genau
  • Perfekt, damit ist doch die Frage:
Jemand eine Idee, wie ich das Problem lösen kann?
beantwortet.
Und wie das geht (sogar detailliert mit 2 verschiedenen Ansätzen) das findest du, wenn du nicht suchen willst unter der Zeile hmmmm.
Bitte warten ..
Mitglied: Friemler
01.05.2012 um 10:07 Uhr
Hallo ipzipzap,

teste mal folgendes:
01.
@echo off & setlocal 
02.
 
03.
set "LogPath=E:\LogFiles\Daily" 
04.
set "DestFile=%LogPath%\Logs.log" 
05.
 
06.
if not exist "%DestFile%" type NUL > "%DestFile%" 
07.
 
08.
for /f "delims=" %%d in ('dir /b /a:d /o:ne "%LogPath%"') do ( 
09.
  for /f "delims=" %%f in ('dir /b /a:-d /o:ne "%LogPath%\%%d"') do ( 
10.
    copy /b "%DestFile%"+"%LogPath%\%%d\%%f" "%DestFile%" > NUL 
11.
12.
)
Ich gehe davon aus, dass sich in den nach dem Datum benannten Verzeichnissen wirklich NUR Logdateien befinden.

Gruß
Friemler
Bitte warten ..
Mitglied: ipzipzap
01.05.2012 um 12:29 Uhr
Hallo Friemler,

erstmal vielen Dank für die erste wirklich hilfreiche Antwort. Aus Deinem Beispiel werde sogar ich schlau.

Ich gehe davon aus, dass sich in den nach dem Datum benannten Verzeichnissen wirklich NUR Logdateien befinden.

Theoretisch ja, aber Du weißt ja, irgendwann ist da mal was drin, was da nicht reingehört.
Könnte ich dies aber nicht von vornherein umgehen? Etwa, indem ich das zweite "dir" in Deinem
Beispiel abändere? In etwa so:

01.
for /f "delims=" %%d in ('dir /b /a:d /o:ne "%LogPath%"') do ( 
02.
  for /f "delims=" %%f in ('dir /b /a:-d /o:ne "%LogPath%\%%d\*.log"') do ( 
03.
    copy /b "%DestFile%"+"%LogPath%\%%d\%%f" "%DestFile%" > NUL 
04.
05.
)
Ich hab also nur ein " *.log " hinten drangehängt. Was sagst du dazu?
Siehst Du da Probleme?


Gruß,
ippi
Bitte warten ..
Mitglied: Friemler
01.05.2012 um 19:03 Uhr
Hallo ipzipzap,

sooo, zurück vom 1. Mai Ausflug .

Zitat von ipzipzap:
Ich hab also nur ein " *.log " hinten drangehängt. Was sagst du dazu?
Siehst Du da Probleme?

Nö, kein Problem, genau richtig.

Als Ergänzung für den Fall, das ein Verzeichnis mal GARKEINE Logdateien enthalten sollte oder das Verzeichnis, das eigentlich nach dem Datum benannte Verzeichnisse enthalten sollte, leer ist:
01.
for /f "delims=" %%d in ('dir /b /a:d /o:ne "%LogPath%" 2>NUL') do ( 
02.
  for /f "delims=" %%f in ('dir /b /a:-d /o:ne "%LogPath%\%%d\*.log" 2>NUL') do ( 
03.
    copy /b "%DestFile%"+"%LogPath%\%%d\%%f" "%DestFile%" > NUL 
04.
05.
)
Mit 2>NUL wird der Standardfehlerkanal auf das NUL-Device umgeleitet => Fehlermeldungen wie "Datei nicht gefunden" werden verschluckt und führen nicht zu einer Verarbeitung der FOR-Schleife(n).

Gruß
Friemler
Bitte warten ..
Mitglied: pieh-ejdsch
02.05.2012 um 14:01 Uhr
moin Friemler,

... Fehlermeldungen wie "Datei nicht gefunden" werden verschluckt und führen nicht zu einer Verarbeitung der FOR-Schleife(n).

Ja - sicher ist es schon.

Die Forschleife verabeitet Kein Handle 2
scheinbar auch nicht wenn 2 nach 3 dubliziert wird - dafür aber wieder doch wenn dabei 1 nach 3 dubliziert wird.


01.
>for /f %i in ('dir xy  2^>^&1') do @echo Ausgabe 
02.
Ausgabe 
03.
Ausgabe 
04.
Ausgabe 
05.
Ausgabe 
06.
 
07.
>for /f %i in ('dir xy  2^>^&3') do @echo Ausgabe 
08.
Datei nicht gefunden 
09.
Ausgabe 
10.
Ausgabe 
11.
Ausgabe 
12.
 
13.
>for /f %i in ('dir xy  1^>^&2 ') do @echo Ausgabe 
14.
 Datenträger in Laufwerk C: ist Win7 
15.
 Volumeseriennummer: 6497-D5C3 
16.
 
17.
 Verzeichnis von C:\Users\Pieh-Ejdsch 
18.
 
19.
Datei nicht gefunden 
20.
 
21.
>for /f %i in ('dir xy  1^>^&3 2^>^&1') do @echo Ausgabe 
22.
Ausgabe 
23.
Ausgabe 
24.
Ausgabe 
25.
Ausgabe
Microsoft eben!

01.
@echo off & setlocal 
02.
 
03.
set "LogPath=E:\LogFiles\Daily" 
04.
set "DestFile=%LogPath%\Logs.log" 
05.
 
06.
if not exist "%DestFile%" type NUL > "%DestFile%" 
07.
 
08.
for /d /r "%LogPath%" %%i in (*) do @if exist "%%i\CLIENT*.Log" copy /b "%Destfile%"+"%%i\CLIENT*.Log" "%DestFile%"
Gruß Phil
Bitte warten ..
Mitglied: ipzipzap
03.05.2012 um 12:06 Uhr
Super, Danke!

Damit hat sich mein Problem hier gelöst
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Dateien kopieren, rekursiv in einen Ordner
gelöst Frage von golsinBatch & Shell9 Kommentare

Hallo und noch ein Frohes neues Jahr ;-) Ich bin mal wieder etwas ratlos Ich Versuche von einem Rechner ...

Batch & Shell
Kopieren von Dateien aus Unterverzeichnissen!
gelöst Frage von DeadseraphimBatch & Shell3 Kommentare

Hallo in die Runde, ich habe folgendes Problem: Im Verzeichnis: C:\Schriftverkehr befinden sich mehrere Unterverzeichnisse mit den Bezeichnungen: \Dokumentenklassen1 ...

Batch & Shell
Dateien rekursiv kopieren und Datum in Dateiname einfügen
gelöst Frage von Franc79Batch & Shell2 Kommentare

Habe mich gerade hier angemeldet, weil ich glaube, hier Hilfe zu bekommen. Frage aktualisiert (15.02. 17:30) Mein Ziel ist ...

Batch & Shell
Dateien kopieren die nicht mehr verändert werden?
Frage von pbelclBatch & Shell10 Kommentare

Hi Leute, Ich habe eine Vu+ Receiver der auf die lokale Platte Videos aufnimmt. Aus administrativen Gründen muss ich ...

Neue Wissensbeiträge
Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 8 StundenBatch & Shell8 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Humor (lol)

"gimme gimme gimme": Automatischer Test stolpert über Easter Egg im man-Tool

Information von Penny.Cilin vor 10 StundenHumor (lol)6 Kommentare

Interessant, was man so alles als Easter Egg implementiert. Ist schon wieder Ostern? "gimme gimme gimme": Automatischer Test stolpert ...

MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 1 TagMikroTik RouterOS8 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 1 TagSicherheit1 Kommentar

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Heiß diskutierte Inhalte
Windows Server
RDP macht Server schneller???
Frage von JaniDJWindows Server17 Kommentare

Hallo Community, wir betrieben seit geraumer Zeit diverse virtuelle Maschinen und Server mit Windows Server 2012. Leider haben wir ...

Windows 10
Windows 10 dunkler Bildschirm nach Umfallen
Frage von AkcentWindows 1015 Kommentare

Hallo, habe hier einen Windows 10 Rechner der von einem User umgefallen wurde (Beine übers Knie, an den PC ...

Windows 10
Bitlocker nach Verschlüsselung nicht mehr aufrufbar!
gelöst Frage von alexlazaWindows 1013 Kommentare

Hallo, ich besitze ein HP ZBook 17 G4 mit einem Windows 10 Pro Betriebssystem. Bei diesem Problem handelt sich, ...

Batch & Shell
Neuste Datei via PowerShell kopieren
gelöst Frage von kaiuwe28Batch & Shell11 Kommentare

Hallo zusammen, ich hatte mir mit Hilfe der Suche im Forum einen kleinen Code von colinardo rausgesucht und versucht ...