Я знаю, що ця тема стара, але я просто хочу додати її сюди, тому що це мені дуже допомогло, намагаючись зрозуміти все це і чисто. Приємно в цьому те, що ви можете помістити його в цикл для командного файлу, який завжди працює. Журнал роботи сервера або щось інше. Це те, для чого я його використовую в будь-якому випадку. Сподіваюся, це колись допоможе комусь.
@setlocal enableextensions enabledelayedexpansion
@echo off
call :timestamp freshtime freshdate
echo %freshdate% - %freshtime% - Some data >> "%freshdate - Somelog.log"
:timestamp
set hour=%time:~0,2%
if "%hour:~0,1%" == " " set hour=0%hour:~1,1%
set min=%time:~3,2%
if "%min:~0,1%" == " " set min=0%min:~1,1%
set secs=%time:~6,2%
if "%secs:~0,1%" == " " set secs=0%secs:~1,1%
set FreshTime=%hour%:%min%:%secs%
set year=%date:~-4%
set month=%date:~4,2%
if "%month:~0,1%" == " " set month=0%month:~1,1%
set day=%date:~7,2%
if "%day:~0,1%" == " " set day=0%day:~1,1%
set FreshDate=%month%.%day%.%year%