Datum und Uhrzeit beim kopieren einer Datei anhängen
Durch eine Batchdatei soll ein Datei kopiert werden und dabei das aktuelle Datum und Uhrzeit angehängt werden.
Beispiel:
Test.txt -> Test2013-02-2307-12-23.txt
2 Antworten
set jahr=%date:~-4%
set monat=%date:~-7,2%
set tag=%date:~-10,2%
xcopy "Laufwerk:\Pfad\123.txt" "Laufwerk:\Pfad\123_%tag%-%monat%-%jahr%_%time%.txt"
habe den Fehler in der Syntax gefunden
In den Link steht:
... ) else ( ...
muß aber heißen
...
)
else
(
...
hat bei mir funktioniert.
Bei Uhrzeiten zwischen 00 und 09 Uhr wird die 0 der Zehnerstelle abgeschnitten. von 10 bis 24 Uhr wird die Uhrzeit zweistellig dargestellt.
Du hättest nicht gleich alles kopieren- und hier einfügen müssen. ^^
Bei mir kommt es nicht zu einem Error. Er kopiert die Datei und hängt alles als Datei-Namen an; außer das, was nach dem Doppelpunkt steht.
Danke für den Link, das wusste ich auch noch nicht. :]
P.s.: Wenn du hier einen Code schreiben willst, so nutze doch bitte die Codebeispiel einfügen [Ctrl + K]-Funktion - das macht alles übersichtlicher.
Komm ich leider nicht mit klar, siehe bitte auch die andere Antwort
das funktioniert nicht!
In %time% werden ":" zwischen Stunde-Minute-Sekunde geschreiben-
Dies führt zu einem SYNTAXERROR und somit wird keine Datei erstellt.
Im Netz habe ich noch folgendes gefunden: http://www.ewig-drohendes-versagen.de/?p=1337
Eine Lösung hat der Ram für uns gebaut:
set /a stunde=%time:~0,2% set minute=%time:~3,2% set sekunde=%time:~6,2%
Unter XP gibt es da aber ein Problem – da wird die Zeit zum Teil bei Stunden mit nur einer Stelle vorn mit eine Leerzeichen angezeigt … Da hilft dann folgendes:
set /a stunde=%time:~0,1%
if !stunde! lss 0 ( set /a stunde=0 set /a stunde=%time:~1,1% echo 1 ) else ( set /a stunde=%time:~0,2% echo 2 )
set minute=%time:~3,2% set sekunde=%time:~6,2%
Die Ausgabe kann dann so aussehen:
copy c:\wichtig.txt d:\backup\wichtig-%date%-%stunde%%minute%%sekunde%
HINWEIS: Die Darstellung wird hier falsch wiedergegeben, besser den Link anschauen
Dies funktioniert auch nicht richtig, da bei der Stunde die Zehnerstelle ausgeblendet wird.
Beispiel: wichtig-2013.02.23-00234.text