toto používám kdesi v batce:
:DATUM
REM # EN Fri 06/12/2015 ; 9:21:23.42
REM # CZ po 01.06.2015 ; 9:05:18,21
REM # Int 2012-01-31 ;14:56:30
set rrrr=%date:~-4%
set dddd=%date:~-10%
set tttt=%time:~0,5%
:EN
(set mm=%dddd:~0,2%) & (set dd=%dddd:~3,2%)
:CZ
echo %date% | find "."
if not errorlevel 1 (set mm=%dddd:~3,2%) && (set dd=%dddd:~0,2%)
:HHMIN
(set hh=%tttt:~0,2%) & (set min=%tttt:~3,2%)
if "%hh:~0,1%"==" " (set hh=0%hh:~1,1%)
set log=%rrrr%-%mm%-%dd%_%hh%.%min%.txt
sekundami ani mezinárodním pomlčkovým zápisem data jsem se nezabýval, to si doděláš sám.