Wanneer je in een batch bestand een geformateerde datum nodig hebt, dat kan je hiervoor de variabele %date% gebruiken. Als je weet wat de ingestelde regionale instellingen zijn kan je met onderstaande voorbeeld uit de voeten:
cmd> echo %date%
vr 30-11-2012
cmd> echo %date:~9,4%%date:~6,2%%date:~3,2%
20121130
Maar als je een script wil maken die kan werken op verschillende talen en regio’s dan kan je kiezen voor het commanda ‘wmic‘.
cmd> wmic os get LocalDateTime /VALUE
LocalDateTime=20121130134815.220000+060cmd> for /F “usebackq tokens=1,2 delims==” %i in (`wmic os get LocalDateTime /VALUE 2^>NUL`) do if ‘.%i.’==’.LocalDateTime.’ set _datetime=%j
cmd> set _date=%_datetime:~0,8%
cmd> set _time=%_datetime:~8,6%
cmd> echo %_date% %_time%
20121130 134815
Op stackoverflow.com worden nog een aantal andere oplossing besproken, maar ik kies voor de WMIC oplossing.Untranslated… Wanneer je in een batch bestand een geformateerde datum nodig hebt, dat kan je hiervoor de variabele %date% gebruiken. Als je weet wat de ingestelde regionale instellingen zijn kan je met onderstaande voorbeeld uit de voeten:
cmd> echo %date%
vr 30-11-2012
cmd> echo %date:~9,4%%date:~6,2%%date:~3,2%
20121130
Maar als je een script wil maken die kan werken op verschillende talen en regio’s dan kan je kiezen voor het commanda ‘wmic‘.
cmd> wmic os get LocalDateTime /VALUE
LocalDateTime=20121130134815.220000+060cmd> for /F “usebackq tokens=1,2 delims==” %i in (`wmic os get LocalDateTime /VALUE 2^>NUL`) do if ‘.%i.’==’.LocalDateTime.’ set _datetime=%j
cmd> set _date=%_datetime:~0,8%
cmd> set _time=%_datetime:~8,6%
cmd> echo %_date% %_time%
20121130 134815
Op stackoverflow.com worden nog een aantal andere oplossing besproken, maar ik kies voor de WMIC oplossing.