Sök…


Introduktion

PowerShell erbjuder en mängd användbara "automatiska" (inbyggda) variabler. Vissa automatiska variabler fylls endast under speciella omständigheter, medan andra är tillgängliga globalt.

$ PSScriptRoot

Get-ChildItem -Path $PSScriptRoot

Detta exempel hämtar listan över underordnade objekt (kataloger och filer) från mappen där skriptfilen finns.

Den automatiska variabeln $PSScriptRoot är $null om den används utanför en PowerShell-kodfil. Om det används i ett PowerShell-skript definieras det automatiskt den fullt kvalificerade filsystemvägen till katalogen som innehåller skriptfilen.

I Windows PowerShell 2.0 gäller denna variabel endast i skriptmoduler (.psm1). Från och med Windows PowerShell 3.0 är det giltigt i alla skript.

$ Args

$Args

Innehåller en matris med odeklarerade parametrar och / eller parametervärden som skickas till en funktion, skript eller skriptblock. När du skapar en funktion kan du deklarera parametrarna genom att använda parameterns nyckelord eller genom att lägga till en kommaseparerad lista med parametrar inom parentes efter funktionsnamnet.

I en händelseåtgärd innehåller variabeln $ Args objekt som representerar händelsesargument för händelsen som bearbetas. Denna variabel fylls endast i åtgärdsblocket i ett kommando för registrering av händelser. Värdet på denna variabel kan också hittas i egenskapen SourceArgs i PSEventArgs-objektet (System.Management.Automation.PSEventArgs) som Get-Event returnerar.

$ PSItem

Get-Process | ForEach-Object -Process { 
  $PSItem.Name
}

Samma som $_ . Innehåller det aktuella objektet i rörledningsobjektet. Du kan använda denna variabel i kommandon som utför en åtgärd på varje objekt eller på utvalda objekt i en pipeline.

$?

Get-Process -Name doesnotexist
Write-Host -Object "Was the last operation successful? $?"

Innehåller exekveringsstatusen för den senaste operationen. Den innehåller SANT om den senaste åtgärden lyckades och FALSE om den misslyckades.

$ fel

Get-Process -Name doesnotexist
Write-Host -Object ('The last error that occurred was: {0}' -f $error[0].Exception.Message)

Innehåller en mängd felobjekt som representerar de senaste felen. Det senaste felet är det första felobjektet i matrisen ($ Error [0]).

För att förhindra att ett fel läggs till i $ -felen, använd den vanliga parametern ErrorAction med ett värde Ignorera. Mer information finns i om_CommonParameters ( http://go.microsoft.com/fwlink/?LinkID=113216) .



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow