Este é um recuso super útil para organização do seu script bat que é formatar a data e hora para ser utilizado dentro do seu script.
Vamos pegar a saída do comando date /t
Vamos então criar um script simples para pegar apenas o ano como “22”
@echo OFF
SET YYYY=%date:~8,2%
echo %YYYY%
Resultado
Com base nesta lógica, vamos formatar as variáveis
YY = ANO com dois dígitos
MM = Mês com dois dígitos
DD = Dia com dois dígitos
Exemplo de script
@echo OFF
SET YY=%date:~8,2%
SET MM=%date:~3,2%
SET DD=%date:~0,2%
echo Ano=%YY%
echo Mes=%MM%
echo Dia=%DD%
Formatando a Hora, seguindo a mesma lógica
SET HH=%time:~0,2%
SET MIN=%time:~3,2%
SET SEG=%time:~6,2%
echo Hora=%HH%
echo Minuto=%MIN%
echo Segundos=%SEG%
Resultado
Agora vamos criar uma variável timestamp com o formato Ano-Mês-DIA_Hora-Minutos-Segundo
@ECHO OFF
SET YY=%date:~6,4%
SET MM=%date:~3,2%
SET DD=%date:~0,2%
SET HH=%time:~0,2%
SET MIN=%time:~3,2%
SET SEG=%time:~6,2%
SET TIMESTAMP=%YY%-%MM%-%DD%_%HH%-%MIN%-%SEG%
ECHO %TIMESTAMP%
Resultado