サーチ…
前書き
PowerShellには、さまざまな便利な「自動」(組み込み)変数が用意されています。特定の自動変数は特別な状況でのみ設定され、その他の変数はグローバルで使用できます。
$ PSScriptRoot
Get-ChildItem -Path $PSScriptRoot
この例では、スクリプトファイルが存在するフォルダから子アイテム(ディレクトリおよびファイル)のリストを取得します。
$PSScriptRoot
自動変数は、PowerShellコードファイルの外から使用する場合は$null
です。 PowerShellスクリプト内で使用された場合、スクリプトファイルを含むディレクトリへの完全修飾ファイルシステムパスが自動的に定義されます。
Windows PowerShell 2.0では、この変数はスクリプトモジュール(.psm1)でのみ有効です。 Windows PowerShell 3.0以降、すべてのスクリプトで有効です。
$ Args
$Args
関数、スクリプト、またはスクリプトブロックに渡される宣言されていないパラメータやパラメータ値の配列を含みます。関数を作成するときは、paramキーワードを使用するか、関数名の後にカッコで囲んだパラメータのカンマ区切りリストを追加してパラメータを宣言できます。
イベントアクションでは、$ Args変数には、処理中のイベントのイベント引数を表すオブジェクトが含まれています。この変数は、イベント登録コマンドのActionブロック内にのみ設定されます。この変数の値は、Get-Eventが返すPSEventArgsオブジェクト(System.Management.Automation.PSEventArgs)のSourceArgsプロパティにもあります。
$ PSItem
Get-Process | ForEach-Object -Process {
$PSItem.Name
}
$_
同じです。パイプラインオブジェクトに現在のオブジェクトが含まれています。この変数は、すべてのオブジェクトまたはパイプライン内の選択されたオブジェクトに対してアクションを実行するコマンドで使用できます。
$?
Get-Process -Name doesnotexist
Write-Host -Object "Was the last operation successful? $?"
最後の操作の実行ステータスが含まれます。最後の操作が成功した場合はTRUEを返し、失敗した場合はFALSEを返します。
$エラー
Get-Process -Name doesnotexist
Write-Host -Object ('The last error that occurred was: {0}' -f $error[0].Exception.Message)
最新のエラーを表すエラーオブジェクトの配列を含みます。最新のエラーは、配列($ Error [0])の最初のエラーオブジェクトです。
エラーが$ Error配列に追加されないようにするには、ErrorAction共通パラメーターにIgnoreという値を指定します。詳細については、about_CommonParameters( http://go.microsoft.com/fwlink/?LinkID=113216)を参照してください 。