Wie übergebe ich dynamische Parameter in Powershell?

8

Ich möchte ein vorhandenes Commandlet mit einer dynamischen Anzahl von Parametern aufrufen.

Anstatt dies zu tun (zB write-host als Beispiel), würde ich es gerne clever machen.

%Vor%

Das ist natürlich sehr hässlich. Hilf mir, es hübscher zu machen!

Ich habe bereits versucht, nur $forecolor = '-fore Green' einzustellen, was nur "- for Green Hello world" ausgibt. Ich könnte daran denken, eine Liste von Argumenten an eine Funktion zu übergeben und für jedes Argument in der Liste den entsprechenden Parameter hinzuzufügen - ich weiß einfach nicht, wie man die Parameter hält.

    
Dennis G 22.06.2012, 08:12
quelle

1 Antwort

16

Sie können Ihre Variablen einfach als Argumente an Write-Host übergeben:

%Vor%

Für eine wirklich dynamische Art können Sie eine Hashtabelle verwenden:

%Vor%

und verwenden Sie dann den Splat-Operator

%Vor%

Sie können Parameter und ihre Werte der Hashtabelle beliebig hinzufügen, bevor Sie Write-Host auf diese Weise aufrufen.

    
Joey 22.06.2012, 08:18
quelle

Tags und Links