标题: [日期时间] 批处理如何取得开机时长? [打印本页]
作者: tempasdf 时间: 2023-6-26 21:43 标题: 批处理如何取得开机时长?
各位:
想判断开机时间是否大于等于2天,想取得 powershell (get-date) - (gcim Win32_OperatingSystem).LastBootUpTime 命令中 Days : 后面的数值,命令行如何写?
作者: 77七 时间: 2023-6-26 22:07
- @echo off
- for /f "tokens=1* delims=: " %%a in ('powershell -c "(get-date) - (gcim Win32_OperatingSystem).LastBootUpTime" ^|findstr /b "Days"') do (
- echo %%b
- if %%b geq 2 (
- echo 大于等于2天
- ) else (
- echo 小于2天
- )
- )
- pause
复制代码
保存为ansi编码格式
作者: buyiyang 时间: 2023-6-26 22:39
- (New-TimeSpan (gcim Win32_OperatingSystem).LastBootUpTime).Days -ge 2
复制代码
作者: tempasdf 时间: 2023-9-21 18:28
回复 2# 77七
再请教一下,win7系统如何完成判断?
作者: 77七 时间: 2023-9-21 21:11
回复 4# tempasdf
这个代码我不懂,或许可以升级powershell试试?
作者: Five66 时间: 2023-9-21 22:03
这样子应该行吧- @if (0)/*==(0)/* echo off
-
- set /a day=2*24*3600
-
- for /f %%i in ('cscript //nologo //e:jscript "%~f0"') do set n=%%i
- set n=%n:~0,-3%
-
- if %day% leq %n% (
- echo 大于或等于2天
- ) else (
- echo 小于2天
- )
-
- pause&exit/b
- rem */@end
-
- var nil=null,td=new Date(),dt=new ActiveXObject('WbemScripting.SWbemDateTime');
- for(var e=new Enumerator(GetObject("winmgmts:").InstancesOf ("Win32_OperatingSystem"));!e.atEnd();e.moveNext())
- {
- dt.value=e.item().LastBootUpTime;
- WScript.Echo(td-dt.GetVarDate());
- }
- dt=nil;
复制代码
作者: Nsqs 时间: 2023-10-7 05:38
- [datetime]::now.AddSeconds(-[System.Environment]::TickCount/1000)
复制代码
win7不知道,你可以试试
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |