如何在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()

您可以使用检查经过的时间经过的财产。

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