Eu gostaria de tê-lo formatado como 20160225155958
which is the output format of running:
date +"%Y%m%d%H%M%S"
on Linux.
Usar %date%
para fornecer uma solução é, conforme indicado em outra resposta, dependente das configurações de Localidade, Regional e Idioma do SO.
O uso de wmic
, por outro lado, funciona de maneira independente do idioma local, idioma ou formato de data escolhido pelo usuário (Painel de Controle / Regional).
O arquivo de lote a seguir usa wmic
para recuperar a data e a hora (local) no formato especificado do OP, portanto, não sofre a desvantagem de uma solução usando %date%
.
getdate.cmd:
@echo off
setlocal
rem use findstr to strip blank lines from wmic output
for /f "usebackq skip=1 tokens=1-6" %%g in ('wmic Path Win32_LocalTime Get Day^,Hour^,Minute^,Month^,Second^,Year ^| findstr /r /v "^$"') do (
set _day=00%%g
set _hours=00%%h
set _minutes=00%%i
set _month=00%%j
set _seconds=00%%k
set _year=%%l
)
rem pad with leading zeros
set _month=%_month:~-2%
set _day=%_day:~-2%
set _hh=%_hours:~-2%
set _mm=%_minutes:~-2%
set _ss=%_seconds:~-2%
set _date=%_year%%_month%%_day%%_hh%%_mm%%_ss%
echo %_date%
endlocal
O arquivo em lote acima é uma versão modificada do exemplo em getdate
Saída :
F:\test>date /t && time /t
25/02/2016
16:49
F:\test>getdate
20160225164929
F:\test>
Cywin para comparação :
DavidPostill@Hal /f/test
$ date +"%Y%m%d%H%M%S"
20160225164938
Leitura Adicional
-
Um índice A-Z da linha de comando do Windows CMD - Uma excelente referência para todas as coisas relacionadas à linha do Windows cmd.
-
para / f - Comando Loop contra os resultados de outro comando.
-
getdate - Exibe a data e a hora independentemente da localidade do SO, idioma ou formato de data escolhido pelos usuários (Painel de Controle / Regional ).
-
variáveis - Extrai parte de uma variável (substring).
-
wmic - Comando de instrumentação de gerenciamento do Windows.