PowerShellパワーシェルモジュール

本ページには広告が含まれています。

POWERSHELL関数 (スクリプト関数)の処理が遅いのを改善したモジュールです。

構文
  1. PowerShell.Create( debug )
  2. String = PowerShell.Execute( cmd )
  3. PowerShell.Quit
引数
cmd 必須
実行するPowerShellのコマンド
debug 省略可
デバッグを表示を場合はTrue、表示しない場合はFalse
戻り値

プログラム

UWSC

使い方

POWERSHELL関数 (スクリプト関数)は呼び出すたびにPowerShellを使う準備に時間がかかるため実用的ではありません。

PowerShellモジュールはPowerShellを実行するためのフォームを用意し、そのフォームを使い回すことで実行時間を短縮します。

PowerShellモジュールのそれぞれの関数の役割は次のとおりです。

Create関数
PowerShellのフォームを起動します。引数にTrueを指定するとフォームを表示し、Falseを指定するとフォームは表示しません。フォームが起動している間はタスクバーにPowerShellのアイコン(pngwing.com)が表示されます。
Execute関数
PowerShellを実行するための関数です。フォームの有無は自動で判断されるため、Create関数を実行せずExecute関数を実行することも可能です。事前にCreate関数でPowerShellのフォームが起動している場合は、すぐに処理を実行することができます。PowerShellのフォームが起動していない場合は、PowerShellのフォームを起動する処理があるため処理に時間がかかります。
Quit関数
Create関数で起動したPowerShellのフォームを終了します。Quit関数を省略した場合、別プロセスのプログラムでもフォームを使い回すことができます。

以下はPowerShellモジュールを使ったプログラムです。PowerShellのフォームを生成するCreate関数に時間はかかりますが、PowerShellのプログラムを実行するExecute関数は短時間で処理を進めることができます。POWERSHELL関数 (スクリプト関数)を2回以上実行する場合は、PowerShellモジュールを使ったほうが高速化できます。

UWSC
結果
プレーンテキスト

Get-ChildItem Env:のように戻り値がオブジェクト配列(System.Object[])になる場合、各要素をダブルクォーテーションで囲みカンマ区切りで出力されます。

UWSC
結果
プレーンテキスト

参考文献

  1. powershellを起動しっぱなしにする | satocchiaブログ - 楽天ブログ