44227

Dateinamen mit Datum und Zeit - BITTE WAS EINFACHES!

geschlossengelöstFrageBatch, Shell Entwicklung
Hallo zusammen,

ich weis, dass in diesem Forum jede Menge darüber geschrieben wurde, wie man eine Datei umbennen kann und dabei den Namen mit Datum/Zeit erweitern kann. Leider heben für mich alle diese Beiträge irgendwann mal voll ab und schweben in Komplexitätsspheren, die ich nicht verstehe und nicht benötige (mein Problem *grins*). Aus all den Beiträge/Tutorials werde ich nicht schlauer sondern nur verwirrter face-sad

Und nun zu meinem Anliegen:
Ich möchte eine Datei sichern und dabei die Kopie mit dem Datum und Zeit versehen.
Folgendne Batch (ist super einfach und genauso wie ich es benötige) tut's schon zu 90%, allerdings bekomme ich keine Zeit in den Dateinamen rein:

@ECHO off
FOR /F "tokens=1,2,3,4,5 delims=/. " %%a in ('date/T') do set CDate=%%a%%b%%c%%d  
copy d:\test.txt e:\%CDATE%_test.txt

Was muss ich tun, damit der Output dann nicht nur 20070717_Test.txt sondern 20070717_2243_test.txt wird?

Ich danke vielmals und sorry, dass ich euch Gurus mit so 'nem einfachen Sch* belästige (*grins*)

Viele Grüße,
Nermin
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 64057

Url: https://administrator.de/forum/dateinamen-mit-datum-und-zeit-bitte-was-einfaches-64057.html

Ausgedruckt am: 07.06.2025 um 10:06 Uhr

Dani
Dani 18.07.2007 um 08:20:11 Uhr
Goto Top
Guten Morgen,
kannst du bitte mal die Ausgaben von
echo %date%
echo %time%
Eine Übersicht über alle Systemvariablen SET /?.


Grüße
Dani
TuXHunt3R
TuXHunt3R 18.07.2007 um 08:35:17 Uhr
Goto Top
Zur Angabe der Zeit kannst du den Befehl time /t nehmen.
Das Ergebnis sieht dann z.B. so aus:
20:40

Das Problem ist, dass in Dateinamen keine Doppelpunkte erlaubt sind. Ich würde dir empfehlen, die Ausgabe von time /t in einer weiteren FOR-Schleife zu zerpflücken.

Versuchs mal so:

@ECHO off

rem Zerlege die Ausgabe von date /t
FOR /F "tokens=1,2,3,4,5 delims=/. " %%a in ('date/T') do set CDate=%%a%%b%%c%%d  

rem Zerlege die Ausgabe von time /t
For /f "tokens=1,2 delims=:" %%f in ('time /t') do set CZeit=%%f%%g  

rem Kopiervorgang
copy d:\test.txt e:\%CDATE%_%CZeit%_test.txt
44227
44227 18.07.2007 um 08:37:02 Uhr
Goto Top
Hallo Dani,

erstmal danke für die rasche Antwort, wenn auch ich es nicht ganz verstehe, was du möchtest, denn deine SÄtze sind unvollständig face-sad

Ich vermute, du wolltest die AUsgaben der Variablen %date% und %time% haben:

P:\>echo %date%
18.07.2007

P:\>echo %time%
 8:33:52,88

Was ich jedoch mit dem nächsten Satz anfangen soll, ist mir nicht ganz klar, da ich schon ein richtiger greenhorn bin face-smile

Danke und Gruß,
Nermin
44227
44227 18.07.2007 um 08:48:51 Uhr
Goto Top
WOW super, genau das benötige ich.

Vielen Dank!