本ページには広告が含まれています。
POWERSHELL関数 (スクリプト関数)の処理が遅いのを改善したモジュールです。
- 構文
- PowerShell.Create( debug )
- String = PowerShell.Execute( cmd )
- PowerShell.Quit
- PowerShell.Create( debug )
- 引数
- cmd 必須
- 実行するPowerShellのコマンド
- debug 省略可
- デバッグを表示を場合はTrue、表示しない場合はFalse
- 戻り値
プログラム
使い方
POWERSHELL関数 (スクリプト関数)は呼び出すたびにPowerShellを使う準備に時間がかかるため実用的ではありません。
PowerShellモジュールはPowerShellを実行するためのフォームを用意し、そのフォームを使い回すことで実行時間を短縮します。
PowerShellモジュールのそれぞれの関数の役割は次のとおりです。
- Create関数
- PowerShellのフォームを起動します。引数にTrueを指定するとフォームを表示し、Falseを指定するとフォームは表示しません。フォームが起動している間はタスクバーにPowerShellのアイコン(
)が表示されます。 - Execute関数
- PowerShellを実行するための関数です。フォームの有無は自動で判断されるため、Create関数を実行せずExecute関数を実行することも可能です。事前にCreate関数でPowerShellのフォームが起動している場合は、すぐに処理を実行することができます。PowerShellのフォームが起動していない場合は、PowerShellのフォームを起動する処理があるため処理に時間がかかります。
- Quit関数
- Create関数で起動したPowerShellのフォームを終了します。Quit関数を省略した場合、別プロセスのプログラムでもフォームを使い回すことができます。
以下はPowerShellモジュールを使ったプログラムです。PowerShellのフォームを生成するCreate関数に時間はかかりますが、PowerShellのプログラムを実行するExecute関数は短時間で処理を進めることができます。POWERSHELL関数 (スクリプト関数)を2回以上実行する場合は、PowerShellモジュールを使ったほうが高速化できます。
- 結果
Get-ChildItem Env:のように戻り値がオブジェクト配列(System.Object[])になる場合、各要素をダブルクォーテーションで囲みカンマ区切りで出力されます。
- 結果
参考文献
公開日:
更新日:

