WMIC LastBootUptime格式问题,需要总天数

问题描述 投票:0回答:1

我正在尝试计算上次使用 CMD 重新启动计算机的时间。

但我不想要年/月/日格式。

发送总天数、小时数和分钟数

这是我到目前为止所能做的:

setlocal 
 for /f "skip=1" %%i in ('wmic /node:Computer /USER / os get lastbootuptime') do (
  set string=%%i 
  goto next 
 ) 
 :next 
 echo Son Restart: %string:~6,2%/%string:~4,2%/%string:~0,4%---%string:~8,2%:%string:~10,2%

输出:儿子重启:17/11/2023---02:33

但是我需要的是:2天 - 8小时 - 43分钟

注意:我应该只使用CMD,而不是powershell

非常感谢您提前的支持。

batch-file cmd wmic
1个回答
0
投票

如果您乐意使用 WMIC,那么我可以提供另一种方法吗:

@Echo Off
SetLocal EnableExtensions
Set "s="
For /F EOL^=S %%G In ('%SystemRoot%\System32\wbem\WMIC.exe Path
 Win32_PerfFormattedData_PerfOS_System Get SystemUptime  2^>NUL
 ') Do Set /A s=%%G, d=s / 86400, s %%= 86400, h=s / 3600,^
 s %%= 3600, m=s / 60, s=s %% 60 2>NUL
If Defined s (Echo %d% Days - %h% Hours - %m% Minutes
    Pause)
EndLocal
Exit /B

当然,如果您也需要的话,您可以选择在输出中添加后缀

 - %s% Seconds

© www.soinside.com 2019 - 2024. All rights reserved.