tocolino
Goto Top

Batchdatei zum automatischen Kopieren einer Datei

Hallo Forum,

ich bin absoluter Frischling und suche nun eine Loesung fuer folgendes Problem:

Software A exportiert alle 24 Stunden um 0.00 Uhr eine .txt-Datei in den Ordner D:\Ordner\Unterordner\dateiname.txt, damit Software B diese Datei wiederum importieren kann. Problem ist, dass diese Datei ueberschrieben wird.

Daher moechte ich nun alle 24 Stunden um 12:00 Uhr eine Kopie der .txt-Datei in D:\Ordner\UnterordnerReports\ leiten, die mit dem aktuellen Datum versehen ist: "2008-01-26_Dateiname.txt".

Der Server ist ein Windows2003.

Koennt ihr mir helfen? Wo wuerde ich eine Batchdatei (sofern es so geht) hinkopieren?

Sorry fuer die doofen Fragen, ich fange gerade an zu lernen. Aber es macht Spass!

Gruss,
Tocolino

Content-Key: 79471

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

Printed on: April 18, 2024 at 07:04 o'clock

Member: schregi82
schregi82 Jan 29, 2008 at 20:04:37 (UTC)
Goto Top
copy "D:\Ordner\Unterordner\dateiname.txt" "D:\Ordner\UnterordnerReports\%date%_Dateiname.txt"  

Über den Taskplaner täglich um 12 Uhr ausführen.

lg,
Member: bastla
bastla Jan 29, 2008 at 20:09:46 (UTC)
Goto Top
... und wenn Du %date% nicht unmittelbar verwendest, sondern etwa so:
set "Datum=%date:~-4%-%date:~-7,2%-%date:~-10,2%"  
copy "D:\Ordner\Unterordner\Dateiname.txt" "D:\Ordner\UnterordnerReports\%Datum%_Dateiname.txt"  
erhältst Du auch das gewünschte Datumsformat (sogar unter Windows 2000).

Grüße
bastla
Mitglied: 60734
60734 Jan 29, 2008 at 20:12:32 (UTC)
Goto Top
mhh mal schauen
schreibe doch mal in die Batch:

@echo off
xcopy "D:\Ordner\Unterordner\Dateiname.txt" "D:\Ordner\UnterordnerReports\%date%_Dateiname.txt"
@ExIT

Und dann gibt's en Taskplaner, wo schreggi schon erwähnt hat, un dort schiebst du die batch-Datei rein.
Member: Flash600
Flash600 Jan 29, 2008 at 20:12:48 (UTC)
Goto Top
Hi,

1. es gibt keine doofen Fragen, nur doofe Antworten.
2. Du kannst xcopy verwenden:

erstelle eine datei mit Erweiterung bat z.B. bkp.bat
dort schreibst du folgendes hinein:
xcopy D:\Ordner\Unterordner\dateiname.txt D:\Ordner\UnterordnerReports\%date%dateiname.txt /H /Y

Erklärung:
xcopy [Quelle] [Ziel] Optionen d.h. du kopierst von D:\Ordner\Unterordner\dateiname.txt nach D:\Ordner\UnterordnerReports\ h bedeutet "Kopiert auch Dateien mit den Attributen 'Versteckt' und 'System'" y bedeutet Unterdrückt die Aufforderung zur Bestätigung, dass eine vorhandene Zieldatei überschrieben werden soll. Einfach in der eingabeaufforderung xcopy /? eingeben, dann erhälst du die Hilfe für xcopy.
sobald du die Datei gespeichert hast, erstelle einen "Scheudle-Task" unter programme/zubehör/systemprogramme/Geplante tasks dort gibst du dann die Batchdatei an, wann sie gestartet werden soll, und mit welchem Account, also Benutzer sie laufen soll.

Du könntest statt xcopy auch robocopy verwenden, da musst du aber die Windows Supporttools installieren, funktioniert prima, hat mehr funktionen.
Weiters kann man in der batch-datei auch ein logging einschalten z.b.
xcopy D:\Ordner\Unterordner\dateiname.txt D:\Ordner\UnterordnerReports\ /H /Y >>c:\copy.log
dann wird eine datei c:\copy.log erstellt.
Es gibt viele Seiten mit Beispielen, einfach mal googlen!

viel Spass!
Member: Flash600
Flash600 Jan 29, 2008 at 20:19:09 (UTC)
Goto Top
schei**e, war wiedereinmal zu langsam face-smile
Member: Tocolino
Tocolino Jan 29, 2008 at 20:23:19 (UTC)
Goto Top
Euch allen vielen, vielen Dank!

face-smile

Ich werde es gleich (morgen) ausprobieren.

Viele Gruesse,
Tocolino
Member: schregi82
schregi82 Jan 29, 2008 at 20:27:21 (UTC)
Goto Top
bastla, der Batch-Perfektionist face-wink
Aber hast schon recht, ich sollte die Fragen wieder genauer lesen.

lg
Member: schmidl23
schmidl23 Apr 16, 2008 at 14:31:15 (UTC)
Goto Top
Hallo zusammen,

habe hierzu auch noch eine kleine Frage.

Bei diesem Befehl bekomme ich immer noch folgende Meldung:
"Ist das Ziel C:\... ein Dateiname oder ein Verzeichnisname"

Wie kann ich einstellen, das automatisch immer ein Verzeichnis erstellt wird?

Vorab vielen Dank für euere Antworten.

MFG Schmidl23
Member: bastla
bastla Apr 16, 2008 at 14:44:24 (UTC)
Goto Top
Hallo schmidl23 und willkommen im Forum!

Wenn Du den Zielordner mit einem abschließenden "\" schreibst, sollte das schon genügen.

Ansonsten zeigt ein Blick in die Hilfe ("xcopy /?"), dass die Option "/I" das Ziel als Verzeichnis festlegt - demzufolge:
xcopy /I D:\Ordner\Unterordner\dateiname.txt* D:\Ordner\UnterordnerReports
Mit dem an die Quelldatei angefügten "*" simulierst Du die für die Verwendung von "/I" verlangte Bedingung "Falls Ziel nicht vorhanden ist und mehrere Dateien kopiert werden ...".

Falls Du allerdings die Datei auch noch unter einem anderen Namen kopieren wolltest, müsstest Du den Ordner vorweg anlegen.

Grüße
bastla
Member: schmidl23
schmidl23 Apr 16, 2008 at 14:53:33 (UTC)
Goto Top
Hallo bastla,

vielen Dank für die EXTREM schnelle Beantwortung.
Hat auch wunderbar geklappt.

MFG Schmidl23