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

Printed on: April 24, 2024 at 08:04 o'clock

Member: bastla
bastla Dec 05, 2009 at 12:07:56 (UTC)
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
Member: tarzansworld
tarzansworld Jan 05, 2010 at 16:24:35 (UTC)
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?
Member: bastla
bastla Jan 05, 2010 at 16:38:58 (UTC)
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
Member: tarzansworld
tarzansworld Jan 05, 2010 at 17:23:26 (UTC)
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
Member: bastla
bastla Jan 05, 2010 at 17:31:25 (UTC)
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