Per Batch Datum in anderem Format an Dateinamen anfügen
Guten Morgen,
eventuell kann mir hier ja jemand weiterhelfen. Und zwar habe ich folgendes Problem:
Ich habe in einem bestimmten Ordner immer 3 gleich benannte Dateien (ApShell.abf/RL_Kons_VER_VL.abf/RLPV_Produktvorhaben.abf im Ordner G:\Backups). Dieses sind Analysis Services Backups, welche jede Nacht geschrieben werden. Um nun mehrere Generationen gleichzeitig im Laufwerk haben zu können, möchte ich an den Backupjob nun einen weiteren Step anhängen (in Form eines cmd-files), welcher die 3 Dateien umbenennt und das aktuelle Datum (im Format 2012_08_27_013757 oder ohne Unterstriche, ist eig. egal) anfügt. Problem hierbei ist, dass die Systemzeit englisch ist, sprich ein %date% 08/29/2012 zurückgibt.
Bisher habe ich folgendes zusammensuchen können (am Beispiel eines Backups):
Was folgendes zurückgibt:
Entspricht leider nicht wirklich dem, was ich haben will. Leider bin ich nun aber komplett überfragt, wie ich das Problem lösen kann (um auch das .abf mittendrin zu entfernen), da die Suche per Google mich nicht mehr weiterbringt.
Vielen Dank schonmal im voraus!!
eventuell kann mir hier ja jemand weiterhelfen. Und zwar habe ich folgendes Problem:
Ich habe in einem bestimmten Ordner immer 3 gleich benannte Dateien (ApShell.abf/RL_Kons_VER_VL.abf/RLPV_Produktvorhaben.abf im Ordner G:\Backups). Dieses sind Analysis Services Backups, welche jede Nacht geschrieben werden. Um nun mehrere Generationen gleichzeitig im Laufwerk haben zu können, möchte ich an den Backupjob nun einen weiteren Step anhängen (in Form eines cmd-files), welcher die 3 Dateien umbenennt und das aktuelle Datum (im Format 2012_08_27_013757 oder ohne Unterstriche, ist eig. egal) anfügt. Problem hierbei ist, dass die Systemzeit englisch ist, sprich ein %date% 08/29/2012 zurückgibt.
Bisher habe ich folgendes zusammensuchen können (am Beispiel eines Backups):
@echo off
for /f "tokens=*" %%a in (
'dir /b G:\Backups\OLAP\Apshell.abf'
) do call :rename "%%a"
goto :EOF
:rename
set timestamp=%date%
set oldname=%~1
set newname=%oldname%_%timestamp%.abf
echo ren "G:\Backups\OLAP\%oldname%" "%newname%"
pause
Was folgendes zurückgibt:
ren "G:\Backups\OLAP\ApShell.abf" "ApShell.abf_Wed 08/29/2012.abf"
Press any key to continue . . .
Entspricht leider nicht wirklich dem, was ich haben will. Leider bin ich nun aber komplett überfragt, wie ich das Problem lösen kann (um auch das .abf mittendrin zu entfernen), da die Suche per Google mich nicht mehr weiterbringt.
Vielen Dank schonmal im voraus!!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 190359
Url: https://administrator.de/forum/per-batch-datum-in-anderem-format-an-dateinamen-anfuegen-190359.html
Ausgedruckt am: 22.04.2025 um 12:04 Uhr
6 Kommentare
Neuester Kommentar
Hallo Damnedfreak!
Es sollte ja genügen, das Datum (lt Deinem Beispiel wäre das "Wed 08/29/2012") per "
Grüße
bastla
Es sollte ja genügen, das Datum (lt Deinem Beispiel wäre das "Wed 08/29/2012") per "
for
"-Schleife zu zerlegen und dann passend zusammenzusetzen:for /f "tokens=1-4 delims=/ " %%a in ("%date%") do set "WoTag=%%a" & set "Mon=%%b" & set "Tag=%%c" & set "Jahr=%%d"
echo %Jahr%-%Mon%-%Tag%
bastla
Hallo Damnedfreak!
(zB DOS-Batch mit Date- Funktion) - ich dachte, Du wolltest das auf Basis der Datumszerlegung selbst herausfinden ...
Grüße
bastla
... in nem andern Forum ...
Das wäre ja nun nicht nötig gewesen Grüße
bastla