1. ホーム
  2. powershell

[解決済み】PowerShellでコマンドを実行するタイミングを計る

2022-04-03 17:28:27

質問

PowerShellで、Linuxの'time'コマンドのように、コマンドの実行時間を計る簡単な方法はありますか?

こんなことを思いつきました。

$s=Get-Date; .\do_something.ps1 ; $e=Get-Date; ($e - $s).TotalSeconds

しかし、私はもっとシンプルなものを望んでいます。

time .\do_something.ps1

解決方法は?

うん。

Measure-Command { .\do_something.ps1 }

の小さな欠点に注意してください。 Measure-Command が表示されないことです。 stdout を出力します。

[Update, thanks to @JasonMArcher] ホストに書き込むコマンドレットにコマンドの出力をパイプすることで修正できます。 Out-Default となるように。

Measure-Command { .\do_something.ps1 | Out-Default }

出力を見る別の方法として、.NETの Stopwatch クラスはこのようになります。

$sw = [Diagnostics.Stopwatch]::StartNew()
.\do_something.ps1
$sw.Stop()
$sw.Elapsed