サーチ…


前書き

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)を参照してください



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow