Batch gesucht welcher täglich Files mit wechselndem Namen umbenennt und kopiert
Hallo zusammen
Da ich mit Google nicht fündig geworden bin, versuche hier mal mein Gluck.
Ich habe einen Ordner, welcher täglich 2 neue Files erhält.
Beispiel der Files:
2015_07_02_Gehalt.doc
2015_07_02_Rechnung.doc
Nun ist es so, dass ich einen Batch benötige, welche täglich die neusten beiden Files abholt und diese 1. in Gelhalt.doc und Rechnung.doc umbenennen und 2. in einen anderen Ordner kopiert.
Zur Info:
Der Quellordner erhält bereits hunderte solcher Files wie im Beispiel gezeigt mit jeweils anderem Datum.
Könnt ihr mir da mit einer Scriptvorlage helfen?
Vielen Dank und Gruss
Fluxx
Da ich mit Google nicht fündig geworden bin, versuche hier mal mein Gluck.
Ich habe einen Ordner, welcher täglich 2 neue Files erhält.
Beispiel der Files:
2015_07_02_Gehalt.doc
2015_07_02_Rechnung.doc
Nun ist es so, dass ich einen Batch benötige, welche täglich die neusten beiden Files abholt und diese 1. in Gelhalt.doc und Rechnung.doc umbenennen und 2. in einen anderen Ordner kopiert.
Zur Info:
Der Quellordner erhält bereits hunderte solcher Files wie im Beispiel gezeigt mit jeweils anderem Datum.
Könnt ihr mir da mit einer Scriptvorlage helfen?
Vielen Dank und Gruss
Fluxx
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 276386
Url: https://administrator.de/forum/batch-gesucht-welcher-taeglich-files-mit-wechselndem-namen-umbenennt-und-kopiert-276386.html
Ausgedruckt am: 15.04.2025 um 15:04 Uhr
8 Kommentare
Neuester Kommentar
Hallo Fluxx,
wir helfen gerne, aber wir liefern nicht.
Dies ist aber sehr simpel, deshalb bitteschön:
Die Batch-Datei kannst du über die Aufgabenplanung zu gewissen Uhrzeiten ausführen lassen.
Da MOVE jeweils nur 1 Datei kopieren kann, wenn es einen vollständigen Dateinamen als Ziel bekommt, werden nicht aus Versehen mehrere Dateien zusammengewürfelt.
MOVE wird keine Dateien überschreiben, ausser du fügst die Option
Gruß,
@Snowman25
€dit:
Ich sehe gerade, dass du die Frage nochmal editiert hast und mein Batch-File nicht auf deine Anforderungen passt.
wir helfen gerne, aber wir liefern nicht.
Dies ist aber sehr simpel, deshalb bitteschön:
1
2
3
4
5
6
7
2
3
4
5
6
7
@ECHO off
SET ordner=pfad\zum\Ordner
PUSHD "C:\Users\Fluxx79\ordner mit Dateien"
MOVE *_Gehalt.doc "%ordner%\Gehalt.doc"
MOVE *_Rechnung.doc "%ordner%\Rechnung.doc"
Da MOVE jeweils nur 1 Datei kopieren kann, wenn es einen vollständigen Dateinamen als Ziel bekommt, werden nicht aus Versehen mehrere Dateien zusammengewürfelt.
MOVE wird keine Dateien überschreiben, ausser du fügst die Option
/Y
hinzu (also MOVE /Y *_Gehalt.doc "%ordner%\Gehalt.de"
).Gruß,
@Snowman25
€dit:
Ich sehe gerade, dass du die Frage nochmal editiert hast und mein Batch-File nicht auf deine Anforderungen passt.
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
@ECHO off
SET ordner=pfad\zum\Ordner
SET tag=%DATE:~0,2%
SET monat=%DATE:~3,2%
SET jahr%DATE:~6,4%
PUSHD "C:\Users\Fluxx79\ordner mit Dateien"
COPY %jahr%_%monat%_%jahr%_Gehalt.doc "%ordner%\Gehalt.doc"
COPY %jahr%_%monat%_%jahr%_Rechnung.doc "%ordner%\Rechnung.doc"
Hallo Fluxx,
probier's mal hiermit. richtet sich nach dem aktuellen Datum:
NUR AUF DEUTSCHEM SYSTEM
probier's mal hiermit. richtet sich nach dem aktuellen Datum:
NUR AUF DEUTSCHEM SYSTEM
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
@ECHO off
SET ordner=pfad\zum\Ordner
SET tag=%DATE:~0,2%
SET monat=%DATE:~3,2%
SET jahr%DATE:~6,4%
PUSHD "C:\Users\Fluxx79\ordner mit Dateien"
COPY %tag%_%monat%_%jahr%_Gehalt.doc "%ordner%\Gehalt.doc"
COPY %tag%_%monat%_%jahr%_Rechnung.doc "%ordner%\Rechnung.doc"
Zitat von @Fluxx79:
Hallo Snowman
Herzlichen Dank für Deine Hilfe.
Hat wunderbar funktioniert.
Beste Grüsse
Fluxx
Hallo Snowman
Herzlichen Dank für Deine Hilfe.
Hat wunderbar funktioniert.
Beste Grüsse
Fluxx
Habe das Skript oben nochmal ausgebessert. Habe das Datum falsch konstruiert (war Jahr.Monat.Jahr anstelle von Tag.Monat.Jahr)

Oder man holt sich das Datum via Powershell in die Batch:
Gruß jodel32
powershell -ExecutionPolicy ByPass -Command "get-date -F 'yyyy_MM_dd'"
[OT]
Hallo Snowman!
Der letzte Halbsatz gilt übrigens auch für
Grüße
bastla
[/OT]
Hallo Snowman!
MOVE wird keine Dateien überschreiben, ausser du fügst die Option /Y hinzu (also
Nur zur Sicherheit:MOVE /Y *_Gehalt.doc "%ordner%\Gehalt.de"
).Die Option /Y ist in der COPYCMD-Umgebungsvariablen eventuell voreingestellt.
Dies kann durch die Option /-Y außer Kraft gesetzt werden. Standardmäßig
müssen Sie das Überschreiben von Dateien bestätigen, es sei denn der MOVE-
Befehl wird von einem Batchprogramm aus aufgerufen.
copy
...Grüße
bastla
[/OT]