
批号:
@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
。
此代码获取后面的时区部分)
(不包括空格)。
参考 : 如何提取变量的一部分(子字符串)。