如何在 PowerShell 中使用秒表?


要在 PowerShell 中使用秒表,我们需要使用 [System.Diagnostics.Stopwatch] 类。

我们将为该类创建一个新的对象,

$stopwatch = [System.Diagnostics.Stopwatch]::new()

以下是上述秒表所提及的成员类。

PS C:\> $Stopwatch | gm


TypeName: System.Diagnostics.Stopwatch

Name MemberType Definition
---- ---------- ----------
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
Reset Method void Reset()
Restart Method void Restart()
Start Method void Start()
Stop Method void Stop()
ToString Method string ToString()
Elapsed Property timespan Elapsed {get;}
ElapsedMilliseconds Property long ElapsedMilliseconds {get;}
ElapsedTicks Property long ElapsedTicks {get;}
IsRunning Property bool IsRunning {get;}

您可以在上面看到,您可以启动、停止、重新启动和重置秒表,并且在启动之前所有值应为 0。

PS C:\> $Stopwatch.Elapsed

Days : 0
Hours : 0
Minutes : 0
Seconds : 0
Milliseconds : 0
Ticks : 0
TotalDays : 0
TotalHours : 0
TotalMinutes : 0
TotalSeconds : 0
TotalMilliseconds : 0

现在,我们将使用 Start() 方法启动计时器。

$Stopwatch.Start()

您可以使用 Elapsed 属性检查经过的时间。

PS C:\> $Stopwatch.Elapsed

Days : 0
Hours : 0
Minutes : 1
Seconds : 42
Milliseconds : 284
Ticks : 1022842838
TotalDays : 0.00118384587731481
TotalHours : 0.0284123010555556
TotalMinutes : 1.70473806333333
TotalSeconds : 102.2842838
TotalMilliseconds : 102284.2838

若要检索上述任何属性,请使用属性名称。例如,

示例

PS C:\> $Stopwatch.Elapsed.Minutes
4

要停止秒表,请使用 Stop(),要重置秒表,请使用 Reset() 方法,要重新启动秒表,请使用 Restart() 方法。

PS C:\> $Stopwatch.Reset()
PS C:\> $Stopwatch.Elapsed

Days : 0
Hours : 0
Minutes : 0
Seconds : 0
Milliseconds : 0
Ticks : 0
TotalDays : 0
TotalHours : 0
TotalMinutes : 0
TotalSeconds : 0
TotalMilliseconds : 0

PS C:\> $Stopwatch.Restart()
PS C:\> $Stopwatch.Elapsed

Days : 0
Hours : 0
Minutes : 0
Seconds : 1
Milliseconds : 757
Ticks : 17570261
TotalDays : 2.03359502314815E-05
TotalHours : 0.000488062805555556
TotalMinutes : 0.0292837683333333
TotalSeconds : 1.7570261
TotalMilliseconds : 1757.0261

PS C:\> $Stopwatch.Stop()
PS C:\> $Stopwatch.Elapsed

Days : 0
Hours : 0
Minutes : 6
Seconds : 36
Milliseconds : 121
Ticks : 3961214918
TotalDays : 0.00458473948842593
TotalHours : 0.110033747722222
TotalMinutes : 6.60202486333333
TotalSeconds : 396.1214918
TotalMilliseconds : 396121.4918

更新于:11-Nov-2020

9K+ 次浏览

开启你的 职业生涯

完成课程认证

开始
广告