本帖最后由 Echo11 于 2022-2-23 08:22 编辑
该方案限制于WMIC,目前在win 11 22000.469 中测试。
据说未来win 11 会因安全问题去掉WMIC。
到时候想继续用WMIC,就需要在含有WMIC的系统版本中备份以下文件(不同语言需要备份对应语言的WMIC.exe.mui):C:\Windows\System32\wbem\WMIC.exe
C:\Windows\System32\wbem\zh-CN\WMIC.exe.mui 然后按原路径还原到不含WMIC的win XX系统。 | :Solu9 | | | | | | | | @echo off | | for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a" | | set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%" | | set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%" & set "Ms=%dt:~15,3%" | | | | set "datestamp=%YYYY%%MM%%DD%" & set "timestamp=%HH%%Min%%Sec%" | | set "fullstamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%.%Ms%" | | echo datestamp: "%datestamp%" | | echo timestamp: "%timestamp%" | | echo fullstamp: "%fullstamp%" | | | | REM 时区 方法1 继续从dt变量获取定位时区的相关值 Bias | | | | set "sign=%dt:~21,1%" & set "bias=%dt:~22,3%" | | set /a "bias=bias/60+100" | | echo timezone: "UTC%sign%%bias:~1,2%:00" | | | | REM 时区 方法2 直接从 wmic TimeZone get Caption /value 提取时区信息 | | for /f "tokens=2 delims=^(^)" %%t in ('wmic TimeZone get Caption /value') do set "timezone=%%t" | | echo timezone: "%timezone%" | | | | pause | | EXIT /B 0COPY |
|