Name von Backup-Dateien mit Datum und Uhrzeit versehen
a)
In einem Verzeichnis existieren Datei-Paare mit folgenden Namen (z.B.):
0039301.LZH
00393.ACS
Diese sollen aus diesem Ordner in einen anderen kopiert werden (Skript existier schon).
Es soll aber auch in einem Backup-Ordner eine Sicherheitskopie angelegt werden - z.B.:
0039301_Datum_Uhrzeit.LZH
00393_Datum_Uhrzeit.ACS
b)
Ebenfalls bestehen Dateien mit dem Namen (z.B.) 0039301A1.OUT
Auch diese müssten in einen Backup-Ordner kopiert werden.
Zieldatei dann ebenfalls mit folgendem Namen:
0039301A1_Datum_Uhrzeit.OUT
In einem Verzeichnis existieren Datei-Paare mit folgenden Namen (z.B.):
0039301.LZH
00393.ACS
Diese sollen aus diesem Ordner in einen anderen kopiert werden (Skript existier schon).
Es soll aber auch in einem Backup-Ordner eine Sicherheitskopie angelegt werden - z.B.:
0039301_Datum_Uhrzeit.LZH
00393_Datum_Uhrzeit.ACS
b)
Ebenfalls bestehen Dateien mit dem Namen (z.B.) 0039301A1.OUT
Auch diese müssten in einen Backup-Ordner kopiert werden.
Zieldatei dann ebenfalls mit folgendem Namen:
0039301A1_Datum_Uhrzeit.OUT
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 56370
Url: https://administrator.de/contentid/56370
Ausgedruckt am: 23.11.2024 um 07:11 Uhr
8 Kommentare
Neuester Kommentar
Hallo HoyGroDo!
Versuch es mal so:
Die "echo" vor den beiden copy-Befehlen sorgen dafür, dass zunächst nur angezeigt wird, was kopiert würde - wenn alles OK ist, einfach die "echo" entfernen.
Falls die ".out"-Dateien aus dem selben Quellverzeichnis in das selbe Zielverzeichnis wie die anderen Dateien sollen, kannst Du die Zeile set "Ext=lzh acs out" verwenden und das zweite "for %%i ..." ersatzlos streichen.
Grüße
bastla
Versuch es mal so:
@echo off & setlocal
set "SourceDir=D:\Verzeichnis"
set "BackupDir=D:\Backup"
set "BackupOutDir=D:\BackupOut"
set "Ext=lzh acs"
set "ExtOut=out"
set Datum=%date:~6,4%-%date:~3,2%-%date:~0,2%
set Zeit=%time:~0,8%
set Zeit=%Zeit::=.%
if not exist "%BackupDir%" md "%BackupDir%"
if not exist "%BackupOutDir%" md "%BackupOutDir%"
for %%e in (%Ext%) do for %%i in ("%SourceDir%\*.%%e") do echo copy "%%i" "%BackupDir%\%%~ni_%Datum%_%Zeit%%%~xi"
for %%i in ("%SourceDir%\*.%ExtOut%") do echo copy "%%i" "%BackupOutDir%\%%~ni_%Datum%_%Zeit%%%~xi"
Falls die ".out"-Dateien aus dem selben Quellverzeichnis in das selbe Zielverzeichnis wie die anderen Dateien sollen, kannst Du die Zeile set "Ext=lzh acs out" verwenden und das zweite "for %%i ..." ersatzlos streichen.
Grüße
bastla
Moin HoyGroDo,
Falls das oben eine Art Bestellzettel sein soll, dann fehlen Datum und Lieferadresse.
Falls nicht: Nimm Dir die Zeit, wenigstens ein Mindestmaß an Freundlichkeit (z.B. ein "Hallo", irgendeine halbe Zeile, die mit einem Fragezeichen endet oder ein "bitte") mit in Deine Eröffnungsbeiträge einzustreuen.
Siehe auch Regel (oder eher Selbstverständlichkeit) 5 unserer Forumsregeln.
Auch wenn Du mir (sicherlich genau wie bastla) eine Freude mit kleinen Knobelaufgaben und kurzen, klaren Beschreibungen machst,
arbeiten hier keine Roboter im Akkord.
Und auch dieses ist kein unpersönlicher, automatisch vom Board generierter Textbaustein,
sondern ein individueller Biber-Rüffel ganz persönlich für Dich.
Grüße
Biber
Falls das oben eine Art Bestellzettel sein soll, dann fehlen Datum und Lieferadresse.
Falls nicht: Nimm Dir die Zeit, wenigstens ein Mindestmaß an Freundlichkeit (z.B. ein "Hallo", irgendeine halbe Zeile, die mit einem Fragezeichen endet oder ein "bitte") mit in Deine Eröffnungsbeiträge einzustreuen.
Siehe auch Regel (oder eher Selbstverständlichkeit) 5 unserer Forumsregeln.
Auch wenn Du mir (sicherlich genau wie bastla) eine Freude mit kleinen Knobelaufgaben und kurzen, klaren Beschreibungen machst,
arbeiten hier keine Roboter im Akkord.
Und auch dieses ist kein unpersönlicher, automatisch vom Board generierter Textbaustein,
sondern ein individueller Biber-Rüffel ganz persönlich für Dich.
Grüße
Biber
Hallo HoyGroDo!
Wenn Du noch die Batch-Datei von oben einsetzt, versuch einmal, die vorletzte Zeile durch diese Variante zu ersetzen:
Auch hier ist, wie gehabt, das "echo" zu Testzwecken enthalten und muss entfernt werden, damit tatsächlich kopiert wird.
Grüße
bastla
Wenn Du noch die Batch-Datei von oben einsetzt, versuch einmal, die vorletzte Zeile durch diese Variante zu ersetzen:
for %%e in (%Ext%) do for %%i in ("%SourceDir%\*.%%e") do if not exist "%BackupDir%\%%~ni*%%~xi" echo copy "%%i" "%BackupDir%\%%~ni_%Datum%_%Zeit%%%~xi"
Grüße
bastla