Não use as variáveis de% date%% time% dependentes de localidade / configurações de usuário. Use o wmic em vez disso:
@Echo off
for /f "tokens=1-3 delims=.+-" %%A in (
'wmic os get LocalDateTime^|findstr ^^[0-9]'
) do Set _DT=%%A
Set ldt=%_DT:~2,6%_%_DT:~8,6%
set ldt
Exemplo de saída.
ldt=170420_121402