获取时区显示名称批处理脚本

获取时区显示名称批处理脚本

批号:

@echo off
for /f "tokens=1*" %%a in ('TZUTIL /g') do set TZID=%%a %%b
SetLocal EnableDelayedExpansion
for /f "tokens=1-4" %%a in ('TZUTIL /L') do (
    set $U=%%a& if "!$U:~0,5!"=="(UTC+" set $TZDN=%%b %%c %%d
    if "%%a %%b %%c %%d"=="!TZID!" set TZDN=!$TZDN!& goto :found
)
:found
echo !TZDN!&pause 
rem TZID=TimeZone ID, TZDN=TimeZone Display Name

我使用上面的代码!TZDN!根据 TimeZone ID获取 TimeZone DispalyName TZID
有没有更简单的代码来获取 TimeZone DispalyName ?

答案1

此代码对我有用:

@echo off
for /f "tokens=2 delims=)" %%a in ('wmic timezone get caption /value') do set tzone=%%a
echo %tzone:~1,99%

时区值如下所示(UTC+xx) yyy zzz
此代码获取后面的时区部分)(不包括空格)。

参考 : 如何提取变量的一部分(子字符串)

相关内容