web-dev-qa-db-fra.com

Comment rompre les lignes dans PowerShell?

Je suis [ complètement nouveau dans PowerShell et ] concaténant une chaîne dans une boucle, si une condition spéciale se produit, je devrais insérer un saut de ligne. ..comment puis-je faire cela?

Fondamentalement, chercher l'équivalent de \n.

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

Jusqu'ici j'ai essayé

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

Essayez "`n" avec des guillemets doubles. (not guillemets simples '`n')

Pour une liste complète des caractères d'échappement, voir:

Help about_Escape_character

Le code devrait être

$str += "`n"
104
Neverever

Je pense que je l'ai trouvé. Tout ce que vous avez à faire est de taper "` n "(AVEC LES MARQUES DE CITATION!)

Merci!

9
New to PowerShell

Juste au cas où quelqu'un d’autre tomberait dessus, pour clarifier la réponse, n est un accent grave n, pas un simple tick n

2
SQLMac

Vous pouvez aussi simplement utiliser:

Write-Host "";

Ou, pour le dire en termes de votre question spécifique:

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

Si échapper ne fonctionne pas, vous pouvez essayer ceci:

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

Cela n'ajoute rien, mais en tant que Out-String, qui crée une nouvelle ligne.

0
Nano Miratus