tarzansworld
Goto Top

Batch File zum Daten Sammeln

Bei uns werden ausgehende mails in einer Ordnerstruktur gespeichert.

z.B. c:\Mails\2009-12-05
I_ Ausgehende
2009-12-04
I_ Ausgehende usw.

für jeden Tag wird ein neuer Ordner (Datum) angelegt.
Ich möchte nun alle xml-Dateien aus dem Unterordner Ausgehende in einem Zentralen Ordner kopieren.

Kann mir jemand helfen?

Content-Key: 131000

Url: https://administrator.de/contentid/131000

Ausgedruckt am: 28.03.2024 um 15:03 Uhr

Mitglied: bastla
bastla 05.12.2009 um 13:07:56 Uhr
Goto Top
Hallo tarzansworld!

Dafür sollte folgende Batchzeile genügen:
@for /d %%i in ("c:\Mails\20??-??-??") do @copy "%%i\Ausgehende\*.xml" "D:\Dein Zentralordner\">nul
Bitte beachten: Eine bereits im Zentralordner vorhandene gleichnamige Datei wird kommentarlos überschrieben.

Grüße
bastla
Mitglied: tarzansworld
tarzansworld 05.01.2010 um 17:24:35 Uhr
Goto Top
Ich benötige nochmal eure Hilfe.

Das mit dem Batchfile klappt ganz gut , ABER jetzt habe ich das das File jeden Tag in allen Ordner nach Dateien schaut und copiert. Das ist aber nicht gut, denn in dem Sammelordner bekommen die Dateien immer das Datum vom Copieren. Besser wäre es, wenn immer nur der aktuelle Tag copiert wird. Dann sind im Sammelordner die Dateien ach nach Datum zu sortieren. Ist so etwas möglich?
Mitglied: bastla
bastla 05.01.2010 um 17:38:58 Uhr
Goto Top
Hallo tarzabsworld!

Das sollte sich so machen lassen:
@echo off & setlocal
set "Datum=%date:~-4%-%date:~-7,2%-%date:~-10,2%"  
copy "C:\Mails\%Datum%\Ausgehende\*.xml" "D:\Dein Zentralordner\">nul  
[Edit] Da BS nicht bekannt, Datumsermittlung umgestellt [/Edit]

Grüße
bastla
Mitglied: tarzansworld
tarzansworld 05.01.2010 um 18:23:26 Uhr
Goto Top
Danke für die Schnelle Hilfe.

Was meinst du mit dem Satz Da BS nicht bekannt, Datumsermittlung umgestellt.

Bei mit siht der genaue Pfad so aus:

c:\mails\2010-01-05\Ausgehende

für jeden tag wird ein neuer Ordner angelegt Jahr-Monat-Tag
Mitglied: bastla
bastla 05.01.2010 um 18:31:25 Uhr
Goto Top
Hallo tarzansworld!
Was meinst du mit dem Satz Da BS nicht bekannt, Datumsermittlung umgestellt.
Ich hatte vorerst eine andere Art der Ermittlung der Variablen %Datum% verwendet, aber da Dein Betriebssystem nicht bekannt ist, auf die "Sicherheitsvariante" umgestellt ...

Hintergrund der ganzen Aktion: Unter W2000 wird das Datum uU als "Di 05.01.2010" ausgegeben, daher teile ich den String "von hinten her" auf, indem als Jahr die letzen 4 Stellen, als Monat die 2 Stellen ab der Position 7 - vom Ende nach vorne gezählt - und für den Tag analog dazu die 2 Stellen ab der Position "Ende -10" verwendet werden.

Grüße
bastla