Sign in with
Sign up | Sign in
Your question

Batch File: Display Current Time Zone

Last response: in Windows XP
January 24, 2009 7:14:28 PM

I'm writing a complex batch file and i require one of the variables in the file to be what the current time zone of the machine is set to.

so far i have:
reg query HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\TimeZoneInformation /v standardname | FIND "REG_SZ"

This returns:
standardname REG_SZ Eastern Standard Time

All I need is the last part: "Eastern Standard Time" put into a variable.

I'm totally stuck, anyone know how to do this?

I know to change the time zone you do:
RunDLL32.exe shell32.dll,Control_RunDLL timedate.cpl,,/Z Eastern Standard Time

but i don't need to change it, i need to know what it's set at currently.
October 6, 2011 9:08:19 PM

Better late than never?

Anyhoo, wrap a for statement around your reg query to parse the output of the reg query for the part you want.

(all on one line)

for /f "skip=4 tokens=2*" %a in ('reg query HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v standardname') do echo %b

skip=4 if for XP, =2 for Win2K3

double percents (%%) if it's in a batch file

echo %b can be replaced by most any valid statement