【发布时间】:2018-06-17 14:59:49
【问题描述】:
我有一个 powershell 脚本,目前通过任务调度程序每 4 小时运行一次。它清理驱动器,完成后它会向我发送一封电子邮件,告诉我它移动了什么以及执行此任务所需的时间和位置。
但是,我似乎对它最后显示的时间有疑问。我最近收到一封电子邮件,它花了 4 分钟,当我知道它花了将近 30 分钟时。
基本结构如下:
$StopWatch = new-object system.diagnostics.stopwatch
$StopWatch.Start()
Do { All this stuff }
While(This condition is false)
$StopWatch.Stop()
$Minutes = $StopWatch.elapsed.minutes
我在这里缺少什么?这东西只是读取系统时间,然后在访问.elapsed 时将其与当前时间进行比较对吧?
【问题讨论】:
-
不确定秒表对象。我通常通过获取开始时间(Get-Date)然后是停止时间然后减去以获得时间跨度对象来满足此需求。
-
.NET 中的秒表并非 100% 准确 上一篇文章中有很多有用的信息:stackoverflow.com/questions/14019510/…您遇到了什么问题?
标签: .net powershell stopwatch