Use este arquivo em lotes no formato AAAA-MM-DD. Ele usa a ferramenta de instrumentação de janelas que deve estar presente em todas as versões recentes do Windows para obter uma sequência de data e hora independente das configurações regionais.
Salve em um arquivo em lotes no caminho (por exemplo) c: \ windows \ rdate.bat e acesse com um CALL RDATE.BAT para definir a (s) variável (s). Como alternativa, copie o código no seu arquivo em lotes.
Esse formato de data é adequado para nomes de arquivos e log. Classifica corretamente. A variável logtime adiciona uma variável de data e hora como AAAA-MM-DD-HHMMSS, adequada para uso no registro de atividades de arquivos em lotes com segunda precisão.
Ajuste os formatos de data (e hora) conforme desejar. REM a tela ecoa em produção. Os dois números em cada seleção de texto são o índice de caracteres iniciais baseado em zero e o número de caracteres a serem copiados, por exemplo,% datetime: ~ 0,4% utiliza uma substring de 4 caracteres começando na posição 0.
echo off
rem First, get the locality-invariant datetime
for /f "tokens=2 delims==" %%I in ('wmic os get localdatetime /format:list') do set datetime=%%I
rem echo %datetime%
rem Build the reverse date string YYYY-MM-DD
set rdate=%datetime:~0,4%-%datetime:~4,2%-%datetime:~6,2%
echo rdate=%rdate%
rem Built a datetime string YYYY-MM-DD-hhmmss
set logtime=%rdate%-%datetime:~8,6%
echo logtime=%logtime%