Batch Millisekunden mit angeben

Bumblebee_3rd

Ensign
Registriert
Jan. 2018
Beiträge
134
Hallo zusammen,

gibt es eine Möglichkeit in einen Dateinamen auch die Millisekunden mit anzugeben?

Mein Code lautet:
Code:
REM --- Uhrzeit testen ---
set DATUM=%date:~-4%%date:~-7,2%%date:~-10,2%
set hh=%time:~0,2%
set mm=%TIME:~3,2%
set ss=%TIME:~6,2%

if "%time:~0,1%"==" " set hh=0%hh:~1,1%
set DATUMZEIT=%DATUM%_%hh%_%time:~-8,2%_%time:~-5,2%

copy "E:\TEMP\test.txt" "E:\TEMP\Test_verschieben\test_%DATUMZEIT%.txt"
 
Wo genau?
Bei
Code:
set ss=%TIME:~6,2%
?
Ergänzung ()

Reicht es nicht wenn ich die Zeile
Code:
set DATUMZEIT=%DATUM%_%hh%_%time:~-8,2%_%time:~-5,2%

mit
Code:
%time:~3,2%

erweiter?
 
Zuletzt bearbeitet:
Wieso benutzt du deine Variablen nicht die du festlegst?

Code:
set hh=%time:~0,2%
set mm=%TIME:~3,2%
set ss=%TIME:~6,2%
set ms=%TIME:~9,2%
[...]
set DATUMZEIT=%DATUM%_%hh%_%mm%_%ss%_%ms%
 
Ich schaff es nicht, dass er mir die richtigen Millisekunden ausgibt.

Könnt ihr mir vielleicht hierbei nochmal bitte helfen?
Code:
set DATUMZEIT=%DATUM%_%hh%_%time:~-8,2%_%time:~-5,2%_%time:~9,2%
So schaut meine Zeile aus.

Mit Pause schau ich mir das an.

Kann es sein, dass von set ms bis set Datumzeit die Zeit weiterläuft?
 
Zitat: Kann es sein, dass von set ms bis set Datumzeit die Zeit weiterläuft?

Ja. Die Zeit wird genau an der Stelle genommen, an welcher der time-Befehl jeweils gestartet wird.
Daher time einmal in eine Variable schreiben und die Variable zerlegen:
Code:
@echo off

set zeit=%time%
set hh=%zeit:~0,2%
set mm=%zeit:~3,2%
set ss=%zeit:~6,2%
set ms=%zeit:~9,2%

echo %zeit%

echo %hh%
echo %mm%
echo %ss%
echo %ms%

echo %date% %hh% : %mm% : %ss% und %ms% Millisekunden

pause
 
Zuletzt bearbeitet:
@ryan_blackdrago Danke für deine Auskunft :) Also stimmt das, was ich geschrieben habe.

Eine Frage hätte ich dennoch und zwar was genau macht diese Zeile:
Code:
if "%time:~0,1%"==" " set hh=0%hh:~1,1%

Die habe ich wo rauskopiert. Dabei soll doch ein Leerzeichzen entfernt werden oder? Brauch ich diese Zeile überhaupt?
 
Glaube hat mit der Uhrzeit Vormittags zu tun.
Da fehlt nämlich bei %time% die Führungsnull 9:45:00:00 (statt 09:45:00:00).

//EDIT: mal die Uhrzeit auf Vormittags und Nachmittags stellen:
Code:
@echo off

set zeit=%time%
set blah=%time:~0,1%
set blah2=%time:~1,1%

echo %zeit%
echo %blah%
echo %blah2%

pause


//EDIT2: Bzw. hier sieht man es noch deutlicher: Wenn erste Stelle der Stunde gleich null ist => Vormittags. Sonst Nachmittags.
Code:
@echo off

set zeit=%time%
set ersteStelleStunde=%time:~0,1%
set zweiteStelleStunde=%time:~1,1%

if "%ersteStelleStunde%" == " " (
echo Vormittags
) ELSE (
echo Nachmittags
)

pause
 
Zuletzt bearbeitet:
Zurück
Oben