Sign in with
Sign up | Sign in
Your question

Batch File: Display Current Time Zone

Last response: in Windows XP
Share
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:
Quote:
reg query HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\TimeZoneInformation /v standardname | FIND "REG_SZ"


This returns:
Quote:
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:
Quote:
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

note:
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
m
0
l
!