Batch File: Display Current Time Zone

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.
1 answer Last reply
More about batch file display current time zone
  1. 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
Ask a new question

Read More

Windows XP Displays