Während Ausdruck:
"string1" + "string2" + "string3"
die Zeichenfolge verkettet, müssen Sie ein $ vor die Klammer setzen, damit sie als einzelnes Argument ausgewertet wird, wenn sie an einen PowerShell-Befehl übergeben wird. Beispiel:
Write-Host $( "string1" + "string2" + "string3" )
Wenn Sie möchten, dass sich der Text über mehrere Zeilen erstreckt, müssen Sie außerdem die umständliche Backtick-Syntax am Ende der Zeile verwenden (ohne Leerzeichen oder Zeichen rechts vom Backtick).
Beispiel:
Write-Host $(`
"The rain in " +`
"Spain falls mainly " +`
"in the plains" )`
-ForegroundColor Yellow
(Meiner Meinung nach ist PowerShell derzeit ein wenig falsch implementiert, da unnötige Backticks zwischen Klammern erforderlich sind. Wenn Microsoft einfach folgen würde Python o Tcl Klammerregeln, die es erlauben, so viele Zeilenumbrüche wie gewünscht zwischen den Anfangs- und Endklammern einzufügen, dann würden sie die meisten Probleme lösen, die die Leute an PowerShell im Zusammenhang mit der Zeilenfortsetzung und der Verkettung von Zeichenfolgen nicht mögen.
Ich habe herausgefunden, dass man die Backticks bei Zeilenfortsetzungen zwischen Klammern manchmal weglassen kann, aber es ist wirklich unzuverlässig und unvorhersehbar, ob es funktioniert... Es ist besser, einfach