Тоже столкнулся с таким поведением командной строки, когда хотел, чтобы логи robocopy назывались по датам.
В результате самым простым методом стало просто перевести всё в Powershell.
Код:
$t = get-date -UFormat "%Y-%m-%d_%H-%M-%S"
ROBOCOPY C:\temp D:\Temp /MIR /TEE /NP /LOG:log_$t.txt