如何在多行

时间:2016-09-23 08:00:29

标签: powershell user-interface input output

我正在努力输出文本文件并以与用户提供的方式完全相同的方式获取文件内容。我试图找到答案,但我唯一能找到的是如何将多行更改为一个字符串,这与我需要的完全相反。

如何确保用户在多行中提供的输入不会在PowerShell中更改为单行?

详细信息:

在输入框中,我在多行中提供了详细信息:

enter image description here

PowerShell将输出保存在一行行中:

enter image description here

我希望PowerShell保存多行输入,然后显示多行输出。

以下是代码:

function Notes
{

$var = $Users.Text 
$var | Out-File C:\Users\A570654\Desktop\users.txt
$var = Get-Content C:\Users\A570654\Desktop\users.txt


Set-Content -Path C:\Users\A570654\Desktop\notes.txt "*************************************************
$var
*************************************************"


Invoke-Item -Path C:\Users\A570654\Desktop\notes.txt
}

############################## FORMS #######################################

$Users = New-Object System.Windows.Forms.RichTextBox
$Users.Size = New-Object System.Drawing.size(470,85)
$Users.Location = New-Object System.Drawing.Size(10,100)
$Users.MultiLine = $true
$Users.AutoSize = $true
$Users.ScrollBars = "Vertical" 
$users.AcceptsTab

$form = New-Object system.windows.forms.form
$form.size = New-Object system.drawing.size(600,600)

$button = New-Object system.windows.forms.button
$button.text = "Get Notes"
$button.Add_Click({Notes})


$form.Controls.Add($Users)
$form.Controls.Add($button)
$form.Showdialog()

我决定将字符串保存在文件中的原因是输出显示如图2中的空格。如果我决定不将输出保存到文件然后获取其内容,则字符串将以下列格式显示:JohnTomKate。

1 个答案:

答案 0 :(得分:0)

您正在将用户输入保存到文件中,并重新加载将为您提供当前输出的内容。所以只需使用变量而不重新分配它:

$var = $Users.Text 
$var | Out-File C:\Users\A570654\Desktop\users.txt

Set-Content -Path C:\Users\A570654\Desktop\notes.txt "*************************************************
$var
*************************************************"

<强>输出:

*************************************************
John 
Tom 
Kate
*************************************************