福ロウ
本日の記事では、PowerShellスクリプトの処理をおこなう中で、コマンド処理の実行に要する時間を計測したいときに利用できる方法についてご紹介いたします。
PowerShellには、処理の実行に要した時間を計測するための「Measure-Command」が用意されています。
Measure-Command
[-InputObject <PSObject>]
[-Expression] <ScriptBlock>
[<CommonParameters>]
上記のパラメータ名”Expression”の<ScriptBlock>に時間を計測したい式を中括弧”{}”で囲んで設定します。尚、パラメータ名”Expression”についてはオプションとなるため、Measure-Commandに続けて中括弧”{}”を入力すれば問題ありません。
例えば、ファイルサーバーにデータコピーするのに時間を要している場合に調査確認のため実測値を取得したい場面があるとしましょう。その場合、下記のMeasure-Commandを利用して実測値を確認することができます。
> Measure-Command {Copy-Item -Path C:\owl\copy_source\hoo.txt -Destination C:\owl\copy_destination } 【説明】 "Copy-Item"コマンドは、アイテム(ファイルなど)をコピーするコマンドになり下記のように利用することができます。 Copy-Item -Path <コピー元パス> -Destination <コピー先パス> 上記のコマンドでは、<コピー元パス>にファイル(C:\owl\copy_source\hoo.txt)を指定して、<コピー先パス>にフォルダ(C:\owl\copy_destination)を指定しています。
コマンド結果を確認していただくと、ファイルをコピーするのに233ミリ秒時間がかかったことがわかります。Measure-Commandを利用することで、ミリ秒までの細かい実測値を確認することができます。
今回の記事では、PowerShellのMeasure-Commandを利用したコマンド処理時間を計測する方法についてお伝えしました。皆さんも、お仕事などで処理に時間がかかるコマンド処理の時間を計測したい場面などありましたら、是非利用してみてください。
それでは、次回もお楽しみに!