Thread Starter
- Mitglied seit
- 04.02.2009
- Beiträge
- 2.797
- Ort
- Hannover
- Laptop
- Asus ROG G751JY-T7158H (2015)
- Prozessor
- i7-13700k
- Mainboard
- MSI MPG Z790 Gaming Edge
- Kühler
- Thermalright Peerless Asassin 140
- Speicher
- 2x16GB DDR5 Corsair Vengeance RGB 6000 CL30
- Grafikprozessor
- Asus TUF 4080 Super
- Display
- Alienware 3423DW QD-OLED
- SSD
- 2TB Kingston KC3000
- Gehäuse
- Fractal North White @ 6x Arctic P12 PWM PST
- Netzteil
- Be quiet! Straight Power 12 1200W 80+ Platinum
- Keyboard
- Logitech G915
- Mouse
- Logitech G502 X
- Betriebssystem
- Windows 11 Pro
- Webbrowser
- Chrome
- Sonstiges
- Beyerdynamic DT770 Pro Black Edition (80 Ohm)
- Internet
- ▼1000 ▲50
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!!
---------- Post added at 12:21 ---------- Previous post was at 09:13 ----------
zu 95% gelöst nun...
müsste den Timestamp nun nur noch um Std+Min erweitern, aber das ist eig nur noch ne Kleinigkeit...
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):
Code:
@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:
Code:
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!!
---------- Post added at 12:21 ---------- Previous post was at 09:13 ----------
zu 95% gelöst nun...
Code:
@echo off
for /f "tokens=1-4 delims=/ " %%a in ("%date%") do set "WoTag=%%a" & set "Mon=%%b" & set "Tag=%%c" & set "Jahr=%%d"
for /f "tokens=*" %%a in ('dir /b G:\Backups\OLAP\ApShell.abf,G:\Backups\OLAP\RL_Kons_VER_VL.abf,G:\Backups\OLAP\RLPV_Produktvorhaben.abf') do call :rename "%%a"
goto :EOF
:rename
set oldname=%~n1
set newname=%oldname%_%Jahr%%Mon%%Tag%.abf
ren "G:\Backups\OLAP\%oldname%" "%newname%"
müsste den Timestamp nun nur noch um Std+Min erweitern, aber das ist eig nur noch ne Kleinigkeit...