PowerShell: verketten Zeichenfolgen mit Variablen nach Cmdlet

8

Ich bin neu in PowerShell. Ich habe online nach dieser Antwort gesucht, aber ohne Erfolg. Vielleicht formuliere ich die Frage einfach falsch.

Ich bin oft in der Situation, in der ich nach einem Cmdlet eine Zeichenfolge mit einer Variablen verketten muss. Zum Beispiel

%Vor%

Wenn ich versuche, dies auszuführen, gibt PowerShell den folgenden Fehler aus:

New-Item: Ein Positionsparameter, der das Argument '+' akzeptiert, kann nicht gefunden werden.

Verkette ich die Zeichenfolge nicht korrekt? Ich möchte nicht vor jedem Cmdlet, in dem ich das mache, eine andere Variable deklarieren müssen (z. B. $logfile = $archive_path + "logfile.txt" , dann New-Item $logfile -type file ). Außerdem werde ich nicht immer einen Dateipfad verketten.

    
user3100444 31.10.2015, 00:40
quelle

1 Antwort

14

Sie erhalten diesen Fehler, weil der Powershell-Parser $archive_path , + und "logfile.txt" als drei separate Parameterargumente anstatt als eine Zeichenfolge anzeigt.

Schließen Sie die Zeichenkettenverkettung in den Klammern () ein, um die Reihenfolge der Auswertung zu ändern:

%Vor%

oder umschließen Sie die Variable in einem Teilausdruck:

%Vor%

Sie können über das Parsen des Argumentmodus mit Get-Help about_Parsing

lesen     
Mathias R. Jessen 31.10.2015, 00:52
quelle

Tags und Links