Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 输出到文本文件时,在新行上设置内容_Windows_File_Powershell_Text - Fatal编程技术网

Windows 输出到文本文件时,在新行上设置内容

Windows 输出到文本文件时,在新行上设置内容,windows,file,powershell,text,Windows,File,Powershell,Text,我有一个脚本,它要求用户使用windows富文本框表单输入信息,每个信息都在不同的行中输入,然后脚本将信息添加到文本文件中,但我希望它通过新行分隔信息。下面是我正在使用的代码:目前is将信息添加为一段文本,没有任何空格或行。任何帮助都将不胜感激 cls [void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing") [void] [System.Reflection.Assembly]::LoadWithPa

我有一个脚本,它要求用户使用windows富文本框表单输入信息,每个信息都在不同的行中输入,然后脚本将信息添加到文本文件中,但我希望它通过新行分隔信息。下面是我正在使用的代码:目前is将信息添加为一段文本,没有任何空格或行。任何帮助都将不胜感激

cls
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing") 
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") 

$objForm = New-Object System.Windows.Forms.Form 
$objForm.Text = "Till's to Update"
$objForm.Size = New-Object System.Drawing.Size(300,550) 
$objForm.StartPosition = "CenterScreen"



$OKButton = New-Object System.Windows.Forms.Button
$OKButton.Location = New-Object System.Drawing.Size(75,480)
$OKButton.Size = New-Object System.Drawing.Size(75,23)
$OKButton.Text = "OK"
$OKButton.Add_Click({$x=$RichTextBox.Text;$objForm.Close()})
$objForm.Controls.Add($OKButton)

$CancelButton = New-Object System.Windows.Forms.Button
$CancelButton.Location = New-Object System.Drawing.Size(150,480)
$CancelButton.Size = New-Object System.Drawing.Size(75,23)
$CancelButton.Text = "Cancel"
$CancelButton.Add_Click({$objForm.Close()})
$objForm.Controls.Add($CancelButton)

$objLabel = New-Object System.Windows.Forms.Label
$objLabel.Location = New-Object System.Drawing.Size(10,20) 
$objLabel.Size = New-Object System.Drawing.Size(280,20) 
$objLabel.Text = "Please enter information:"
$objForm.Controls.Add($objLabel) 

$RichTextBox = New-Object System.Windows.Forms.richtextbox 
$RichTextBox.Location = New-Object System.Drawing.Size(10,80) 
$RichTextBox.Size = New-Object System.Drawing.Size(260,320)
$objForm.Controls.Add($RichTextBox) 


$objForm.Topmost = $True

$objForm.Add_Shown({$objForm.Activate()})
[void] $objForm.ShowDialog()

$x


Set-Content -Value  `n$x`n -Path c:\Computers.txt

RichTextBox希望为您提供RTF格式的文本。当你要求文本时,我认为它会去除格式化代码,只给你字母和空格,我不认为它会变成一种轻量级的ascii格式化

您可能希望使用.Lines属性,该属性返回一个字符串[],您可以循环并写入该文件


ref:

将文本拆分为'n'并将其传送到文件。您可以删除脚本中的最后两行

$OKButton.Add_Click({
    $RichTextBox.Text -split "`n" | Set-Content -Path c:\Computers.txt
    $objForm.Close()
})
更改这些行

$x
Set-Content -Value  `n$x`n -Path c:\Computers.txt


你是一个传奇人物,我一直在努力解决这个问题。谢谢你,伙计
set-content -Value ($RichTextBox.text -split "`n" ) -Path c:\Computers.txt
set-content -Value $RichTextBox.Lines -Path c:\Computers.txt