PowerShell: A parancssori paraméterek használata függvényben

Rendszer / PowerShell (587 katt)

Ha egy PowerShell scriptnek a parancssorban átadott paramétereit el szeretnénk érni, akkor azt a $args tömb használatával tehetjük meg, például a következő módon:

foreach ($arg in $args)
{
Write-Host $arg
}



Ha a $args tömböt egy függvényen belül próbáljuk használni a fenti módon, akkor az nem fog működni, pontosabban nem a várt eredményt adja. Ennek a magyarázata valószínűleg a következő:

$args: Contains an array of values for undeclared parameters that are passed to a function, script, or script block.

A problémát a következő módon lehet megoldani:

function DisplayArgs()
{
Write-Host DisplayArgs:

foreach ($arg in $script:args)
{
Write-Host $arg
}
}



Itt a lényeg a foreach ($arg in $script:args) sorban található, ahol a $script:args módon érjük el a kérdéses tömböt.

Előző oldal Kapitány