0 Pluspunkte 0 Minuspunkte

Ich habe eine Testfunktion in Powershell. Die Funktion soll 2 Parameter haben und beide ausgeben.

function test($arg1, $arg2)
{
    Write-Host "arg1 value: $arg1"
    Write-Host "arg2 value: $arg2"
}
test(2, 5)

Die Ausgabe sieht aber so aus.

arg1 value: 2 5
arg2 value:

Wie kann ich der Funktion 2 Parameter geben die einzeln gelesen werden?

von  

2 Antworten

0 Pluspunkte 0 Minuspunkte

Beim Aufrufen der Funktion brauchst du keine Klammern setzen und die Parameter werden nicht durch einen Beistrich getrennt, sondern mit einem Leerzeichen.

function test($arg1, $arg2)
{
    Write-Host "arg1 value: $arg1"
    Write-Host "arg2 value: $arg2"
}

# Aufruf ohne Klammern
test 2 5

von (732 Punkte)  
0 Pluspunkte 0 Minuspunkte

Du kannst Funktionen auch in einer anderen Syntax definieren.

function Test
{

    Param
    (
         [Parameter(Mandatory=$true, Position=0)]
         [string] $Name,
         [Parameter(Mandatory=$false, Position=1)]
         [int] $Age
    )

    Write-Host $Name
    Write-Host $Age

}

Test -Name "Tony" -Age 32
von (776 Punkte)