Wie unterbreche ich Linien in PowerShell?


82

Ich bin [ völlig neu in PowerShell und ] verkette eine Zeichenfolge in einer Schleife. Wenn eine besondere Bedingung auftritt, sollte ich einen Zeilenumbruch einfügen. Wie kann ich das tun?

Grundsätzlich auf der Suche nach dem Äquivalent von \n.

$str = ""
foreach($line in $file){
  if($line -Match $review){ #Special condition
    $str += ANSWER #looking for ANSWER
  }
  #code.....
}

Bisher habe ich es versucht

"\n" '\n' "\N" '\N' "\r" '\r' "\R" '\R' '`n' '`r' '-n' '-r' 

Antworten:


134

Versuchen Sie es "`n"mit doppelten Anführungszeichen. ( keine einfachen Anführungszeichen '`n')

Eine vollständige Liste der entkommenen Zeichen finden Sie unter:

Help about_Escape_character

Der Code sollte sein

$str += "`n"

Danke, funktioniert aber nicht. es gibt mirThe term ' ' is not recognized as the name of a cmdlet, function, sc....
user454322

1
Die Beispiele in Help about_Escape_characterhaben mir geholfen, das Problem herauszufinden. Antwort
bearbeiten

$filestobackup = $files.split("`n");
Um

9

Ich glaube ich habe es gefunden. Alles was Sie tun müssen, ist "` n "einzugeben (MIT DEN ANGEBOTSMARKEN!)

Vielen Dank!


2

Nur für den Fall, dass jemand anderes darauf stößt, um die Antwort zu klären: `n ist ein schwerwiegender Akzent n, kein einzelnes Häkchen n


4
Es ist eigentlich ein "schwerer Akzent". Eine Tilde ist ~
elkirkmo

1
Danke für die Klarstellung.
SQLMac

Nein, ǹ ist ein schwerwiegender Akzent n und `n ist ein Backtick n. Ich bin mir nicht sicher, warum du anders denkst. Bitte posten Sie eine Referenz, wenn mir etwas fehlt.
Chris Broski

1

Sie können auch einfach verwenden:

Write-Host "";

Oder, um es in Bezug auf Ihre spezifische Frage auszudrücken:

$str = ""
foreach($line in $file){
  if($line -Match $review){ #Special condition
    $str += Write-Host ""
    $str += ANSWER #looking for ANSWER
  }
  #code.....
}

0

Wenn das Entkommen nicht funktioniert, können Sie Folgendes versuchen:

$str += $("" | Out-String)

Es fügt nur nichts hinzu, sondern als Out-String, was eine neue Linie erzeugt.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.