Datei per Batch kopieren und Datum am Dateinamen anhängen
Hallo,
ich möchte eine Datei Namens DB_2009.mde per Batch aus den Verzeichnis:
E:\Daten\Access in das Verzeichnis F:\Datenbackup\Access\
kopieren. Dabei soll der kopierte Datei "DB_2009.mde" im Dateinamen noch das aktuelle Datum hinzugefügt. werden. DB_2009_25.11.09.mde
Könnte mir jemand posten wie man sowas macht? Habe von Batch nicht so viel Ahnung. Und das wäre die schnellste Variante die Datei zu sichern in dem ich diese per Mausklick auf die Batchdatei in das entsprechende Backupverzeichnis kopiere.
Gruß
Martin
ich möchte eine Datei Namens DB_2009.mde per Batch aus den Verzeichnis:
E:\Daten\Access in das Verzeichnis F:\Datenbackup\Access\
kopieren. Dabei soll der kopierte Datei "DB_2009.mde" im Dateinamen noch das aktuelle Datum hinzugefügt. werden. DB_2009_25.11.09.mde
Könnte mir jemand posten wie man sowas macht? Habe von Batch nicht so viel Ahnung. Und das wäre die schnellste Variante die Datei zu sichern in dem ich diese per Mausklick auf die Batchdatei in das entsprechende Backupverzeichnis kopiere.
Gruß
Martin
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 130238
Url: https://administrator.de/contentid/130238
Ausgedruckt am: 22.11.2024 um 18:11 Uhr
15 Kommentare
Neuester Kommentar
Das klapp gut.
Jedoch kann ich das Systemdatum nicht auf TT.MM.YYYY stehen lassen,
sondern muss es bei TT.MM.YYYY belassen.
Jedoch kann ich das Systemdatum nicht auf TT.MM.YYYY stehen lassen,
sondern muss es bei TT.MM.YYYY belassen.
"nicht auf TT.MM.YYYY ... sondern bei TT.MM.YYYY belassen" ???
versteh ich nicht
Wie müsste man den Befehl umstellen?
Gruß
Martin
Noch mal zu den UnixUtils. "date.exe" ist hier sehr nützlich:
@echo off
for /f %%a in ('date.exe +%%d.%%m.%%Y') do set dat=%%a
copy "E:\Daten\Access\DB_2009.mde" "F:\Datenbackup\Access\DB_2009_%dat%.mde
Wie oft verwendest du dieses Script? Täglich?
Gruß
mag
Das es in TT.MM.YY ist macht ja nichts.
Die Bemerkung war nru deshalb weil ind er Variabeln %date% das datum so steht wie es im System angegeben ist, also ,TT.MM.YYYY, TT.MM.YY, MM-TT-YY, MM-TT-YYYY oder wie es auch immer eingestellt ist.
Wenn das aber ok für dich ist kannst du es so lassen.
Andernfalls müstest du mit einem For die %date% Variable zerlegen unn anders zusammensetzen (z.b. wen du die Reihenfolge YYYYMMTT willst.
Die Bemerkung war nru deshalb weil ind er Variabeln %date% das datum so steht wie es im System angegeben ist, also ,TT.MM.YYYY, TT.MM.YY, MM-TT-YY, MM-TT-YYYY oder wie es auch immer eingestellt ist.
Wenn das aber ok für dich ist kannst du es so lassen.
Andernfalls müstest du mit einem For die %date% Variable zerlegen unn anders zusammensetzen (z.b. wen du die Reihenfolge YYYYMMTT willst.
Zitat von @Marcys:
hallo,
also das mit dem Datum anhängen klappt ja.
Mein Problem ist nur:
wenn ich es ausführe, öffnet sich das leere CMD Fenster und
es bleibt stehen. Kopiert wird auch nix. Erst wenn ich das CMD Fenster
manuell schließe, wir die Datei kopiert.
hallo,
also das mit dem Datum anhängen klappt ja.
Mein Problem ist nur:
wenn ich es ausführe, öffnet sich das leere CMD Fenster und
es bleibt stehen. Kopiert wird auch nix. Erst wenn ich das CMD Fenster
manuell schließe, wir die Datei kopiert.
Wo liegt denn diese Batch-Datei?
Entferne den Eintrag "@echo off" (Speichern nicht vergessen), öffne ein cmd,
wechsle in dieses Verzeichnis und starte den Batch von da aus.
Welche Meldungen erhältst du?
Guten Morgen,
Nein, sollst du auch nicht.
Prinzipielle Frage: Legst du immer (oder meistens) Dateien auf dem Desktop ab?
Konnte dein Problem nachvollziehen. Hatte es nach deiner Vorgehensweise
so probiert.
Lösung: Wenn du diese Sicherung manuell starten möchtest, lege die Batch-Datei
in ein Verzeichnis (z.B. C:\BAT) und zieh einfach einen Link von ihr zum Desktop.
Bei den Eigenschaften stellst du "Ausführen = Minimiert" und dann siehst du fast
nix mehr von der ganzen Prozedur.
Gruß
mag
Zitat von @Marcys:
Hi,
Es geht mir darum, dass ich die Batchdatei öffne und automatisch
die Datei kopiert wird.
Den Befehl möchte ich nicht jedes mal in die Kommandoziele
eingeben.
Hi,
Es geht mir darum, dass ich die Batchdatei öffne und automatisch
die Datei kopiert wird.
Den Befehl möchte ich nicht jedes mal in die Kommandoziele
eingeben.
Nein, sollst du auch nicht.
meine Batch liegt auf dem Desktop und sieht so aus:
01.
02. @echo off
03. for /f %%a in ('date.exe +%%d.%%m.%%Y') do set dat=%%a
04. copy "E:\Daten\Access\DB_2009.mde"
"F:\Datenbackup\Access\DB_2009_%dat%.mde
05.@echo off
01.
02. @echo off
03. for /f %%a in ('date.exe +%%d.%%m.%%Y') do set dat=%%a
04. copy "E:\Daten\Access\DB_2009.mde"
"F:\Datenbackup\Access\DB_2009_%dat%.mde
05.@echo off
Prinzipielle Frage: Legst du immer (oder meistens) Dateien auf dem Desktop ab?
Wenn ich diese Batchdatei mit Doppelklick ausführe, öffnet
sich ein ganz leeres CMD Fenster und es passiert erstmal nix, solange
bis ich das CMD Fenster manuell schließe. Tue ich das, wir die
Datei richtigerweise in das richtige Verzeichnis mit dem richtigen
Namen kopiert.
Lösche ich eins der @off's so öffnet sich das cmd
Fenster mit dem Inhalt:
for /f %%a in ('date.exe +%%d.%%m.%%Y') do set dat=%%a
kopiert wird aber nix. Auch nicht, wenn ich das CMD fenster
schließe
Im Grunde genommen geht es mir darum, dass das CMD Fenster
geschlossen wird.
Gruß
Martin
sich ein ganz leeres CMD Fenster und es passiert erstmal nix, solange
bis ich das CMD Fenster manuell schließe. Tue ich das, wir die
Datei richtigerweise in das richtige Verzeichnis mit dem richtigen
Namen kopiert.
Lösche ich eins der @off's so öffnet sich das cmd
Fenster mit dem Inhalt:
for /f %%a in ('date.exe +%%d.%%m.%%Y') do set dat=%%a
kopiert wird aber nix. Auch nicht, wenn ich das CMD fenster
schließe
Im Grunde genommen geht es mir darum, dass das CMD Fenster
geschlossen wird.
Gruß
Martin
Konnte dein Problem nachvollziehen. Hatte es nach deiner Vorgehensweise
so probiert.
Lösung: Wenn du diese Sicherung manuell starten möchtest, lege die Batch-Datei
in ein Verzeichnis (z.B. C:\BAT) und zieh einfach einen Link von ihr zum Desktop.
Bei den Eigenschaften stellst du "Ausführen = Minimiert" und dann siehst du fast
nix mehr von der ganzen Prozedur.
Gruß
mag
Also so ganz komme ich jetzt nicht mehr mit.
Mach bitte folgendes, um Fehler zu minimieren:
- erstelle neues Verzeichnis auf c:
z.B. c:\batch
- kopiere die Datei "date.exe" und deine bat-Datei (welchen Namen hat die?)
in das Verzeichnis c.\batch
- editiere dies bat-Datei, die dann so aussehen sollte
- speichern, schließen
- dann einen Link auf den Desktop legen und auf diesen einen Doppel-Klick
- nun siehst du, was das Programm anstellt
Mach bitte folgendes, um Fehler zu minimieren:
- erstelle neues Verzeichnis auf c:
z.B. c:\batch
- kopiere die Datei "date.exe" und deine bat-Datei (welchen Namen hat die?)
in das Verzeichnis c.\batch
- editiere dies bat-Datei, die dann so aussehen sollte
echo on
for /f %%a in ('date.exe +%%d.%%m.%%Y') do set dat=%%a
copy "E:\Daten\Access\DB_2009.mde" "F:\Datenbackup\Access\DB_2009_%dat%.mde"
pause
- speichern, schließen
- dann einen Link auf den Desktop legen und auf diesen einen Doppel-Klick
- nun siehst du, was das Programm anstellt