Dateinamen per Batch das Tagesdatum hinzufügen
Hallo zusammen,
vielleicht kann mir jemand von euch helfen.
Jede Nacht um 03.00 Uhr (geht wegen Sicherungsjobs nicht früher) werden Dateien mit dem Namen abcd1.html bis abcd8.html erzeugt. Diese werden bis jetzt händisch in abcd1__20070531 bis abcd8__20070531 umbenannt (es wird also das Tagesdatum vom Vortag drangehängt). Das ganze würde ich gerne per Batch automatisieren, hab da aber im Moment gar keine Idee, wie ich das angehen soll.
vielleicht kann mir jemand von euch helfen.
Jede Nacht um 03.00 Uhr (geht wegen Sicherungsjobs nicht früher) werden Dateien mit dem Namen abcd1.html bis abcd8.html erzeugt. Diese werden bis jetzt händisch in abcd1__20070531 bis abcd8__20070531 umbenannt (es wird also das Tagesdatum vom Vortag drangehängt). Das ganze würde ich gerne per Batch automatisieren, hab da aber im Moment gar keine Idee, wie ich das angehen soll.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 60314
Url: https://administrator.de/forum/dateinamen-per-batch-das-tagesdatum-hinzufuegen-60314.html
Ausgedruckt am: 21.04.2025 um 23:04 Uhr
6 Kommentare
Neuester Kommentar

Mit einem vb script ist das problemlos machbar, Du solltest das Datum aber vor den Dateinamen setzen, dann ist es sehr einfach.
Noch einfacher wäre es wenn Du einen Ordner mit dem Tagesdatum erstellst und alle Dateien da hinein schiebst. Oder müssen die neuen Dateinamen unbedingt das Datum beinhalten ?
Gruß
snaketown
Noch einfacher wäre es wenn Du einen Ordner mit dem Tagesdatum erstellst und alle Dateien da hinein schiebst. Oder müssen die neuen Dateinamen unbedingt das Datum beinhalten ?
Gruß
snaketown
Hallo yogibaer und willkommen im Forum!
Soferne Du bei der Eingabe von
eine Ausgabe ohne vorangestellten Wochentag, also in der Form "01.06.2007", erhältst, könntest Du folgende Batchzeile verwenden:
Grüße
bastla
[Edit] Sorry, hatte sehr kurz drübergelesen und die Anforderung "Vortag" übersehen, daher wird bei der oben stehenden Zeile das heutige Datum verwendet ... [/Edit]
[Edit2] Abgesehen von der unter Biber's Link dargestellten Lösung würde ich in diesem Fall, wie von snaketown vorgeschlagen, eher VBScript (zumindest für die Datumsermittlung) einsetzen. [/Edit2]
Soferne Du bei der Eingabe von
echo %date%
for %%i in ("D:\Verzeichnis\abcd?.html") do ren "%%i" "%%~ni%date:~7,4%%date:~3,2%%date:~0,2%%%~xi"
Grüße
bastla
[Edit] Sorry, hatte sehr kurz drübergelesen und die Anforderung "Vortag" übersehen, daher wird bei der oben stehenden Zeile das heutige Datum verwendet ... [/Edit]
[Edit2] Abgesehen von der unter Biber's Link dargestellten Lösung würde ich in diesem Fall, wie von snaketown vorgeschlagen, eher VBScript (zumindest für die Datumsermittlung) einsetzen. [/Edit2]
Moin yogibaer,
willkommen im Forum,
Du wirst erstaunt sein, wie viele Treffer Du z.B. bei Suchen nach "Tagesdatum Vortag umbenennen" hast.
Einer der relativ ausführlichen Threads in der Trefferliste ist .
An Ideen und Anregungen zur Lösung Deiner Anforderung mangelt es hier nicht - siehe auch die Rückfrage von snarchtown oben.
Grüße
Biber
Edit Okt 2014: Es wurde im obigen Link eine falsche content-ID bei irgendeiner Migration zugeordnet.
Bitte diesen Link verwenden Datum vom Vortag in eine Datei schreiben.
willkommen im Forum,
hab da aber im Moment gar keine Idee, wie ich das angehen soll.
Bitte probier in solchen Fällen einfach mal unsere geniale Forumssuche aus.Du wirst erstaunt sein, wie viele Treffer Du z.B. bei Suchen nach "Tagesdatum Vortag umbenennen" hast.
Einer der relativ ausführlichen Threads in der Trefferliste ist .
An Ideen und Anregungen zur Lösung Deiner Anforderung mangelt es hier nicht - siehe auch die Rückfrage von snarchtown oben.
Grüße
Biber
Edit Okt 2014: Es wurde im obigen Link eine falsche content-ID bei irgendeiner Migration zugeordnet.
Bitte diesen Link verwenden Datum vom Vortag in eine Datei schreiben.
Hallo yogibaer!
Die dritte Zeile erstellt ein (temporäres) VB-Script, das die Berechnung und Formatierung des Datums "Heute-1" durchführt (siehe -1 vor ,Date). In Zeile 4 wird die Ausgabe des Scripts in die Variable %G% geschrieben, und, weil's ja temporär sein soll, das Script in Zeile 5 wieder gelöscht.
Grüße
bastla
Werde mal sehen, ob wir das hier so geregelt kriegen, das der Job zur Dateierstellung doch früher läuft.
Bevor Du das tust, versuch es vielleicht einmal mit folgender Variante:@echo off & setlocal
set "gTemp=%Temp%\Gestern.vbs"
echo g=DateAdd("d",-1,Date):WScript.Echo Right(g,4)^&Mid(g,4,2)^&Left(g,2)>"%gTemp%"
for /f %%i in ('cscript //nologo "%gTemp%"') do set G=%%i
del "%gTemp%"
for %%i in ("D:\Verzeichnis\abcd?.html") do ren "%%i" "%%~ni%G%%%~xi"
Grüße
bastla