Linux の「time」コマンドのように、PowerShell でコマンドの実行時間を計測する簡単な方法はありますか?
私はこれを思いつきました:
$s=Get-Date; .\do_something.ps1 ; $e=Get-Date; ($e - $s).TotalSeconds
でも、もっとシンプルなものが欲しい
time .\do_something.ps1
ベストアンサー1
うん。
Measure-Command { .\do_something.ps1 }
の小さな欠点の 1 つは、出力Measure-Command
が表示されないことですstdout
。
[更新、@JasonMArcher に感謝] コマンド出力をホストに書き込むコマンドレットにパイプすることでこれを修正できます。たとえば、Out-Default
次のようになります。
Measure-Command { .\do_something.ps1 | Out-Default }
出力を確認する別の方法は、Stopwatch
次のように .NET クラスを使用することです。
$sw = [Diagnostics.Stopwatch]::StartNew()
.\do_something.ps1
$sw.Stop()
$sw.Elapsed