2017-06-23 1 views
2

J'ai une interface graphique de Powershell qui importe un fichier texte et l'affiche dans une zone de texte lorsqu'un bouton est cliquéPowershell GUI fichier texte importé manquant nouvelle ligne/retour chariot

Mais même si le fichier texte contient une entrée par ligne lorsque il s'affiche dans la zone de texte, il est sur une seule ligne ...

le fichier texte ressemble this-

TXT

Mais quand je l'importer, il ressemble this-

GUI

C'est le code que je suis using-

$button_hosts = New-Object system.windows.Forms.Button 
$button_hosts.Text = "Hosts" 
$button_hosts.Width = 60 
$button_hosts.Height = 25 
$button_hosts.location = new-object system.drawing.point(20,55) 
$button_hosts.Font = "Microsoft Sans Serif,10" 
$mydocs = [Environment]::GetFolderPath('MyDocuments') 
$button_hosts.Add_Click({ 
    $textBox_hosts.Text = Get-Filename "$mydocs" txt 
    $textBox_hostlist.Text = Get-Content $textBox_hosts.Text 
}) 
$GUI.controls.Add($button_hosts) 

Toute idée comment l'obtenir pour afficher la même chose? Je ne peux pas ajouter de données supplémentaires au fichier txt car il s'agit d'une sortie d'un autre programme

+0

Dans Notepad ++, allez dans 'View'>' Show Symbol'> 'Show End of Line' et mettez à jour la capture d'écran. – gms0ulman

+0

Essayez '$ textBox_hostlist.Text = Get-Content $ textBox_hosts.Text | Out-String'. –

Répondre

1

Définissez la propriété des lignes, et non la propriété de texte.

$textBox_hostlist.Lines = Get-Content $textBox_hosts.Text 
+0

Oui! cela l'a fixé – Brick

0

Get-Content lit le contenu une ligne à la fois et renvoie une collection d'objets, dont chacun représente une ligne de contenu.
Le signifie que vous devez joindre à la collection avec des retours chariot et linefeeds:

(Get-Content $textBox_hosts) -Join "`r`n"