0

Windowsリッチテキストボックスフォームを使用して情報を入力するようにユーザーに要求するスクリプトがあり、各情報は別の行に入力され、スクリプトは情報をテキストファイルに追加しますが、情報を分離したい新しい行の意味。以下は私が使用しているコードです。現時点では、情報をスペースや行なしで 1 つのテキストとして追加します。任意の助けをいただければ幸いです

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
4

3 に答える 3

1

テキストを `n で分割し、ファイルにパイプします。スクリプトの最後の 2 行を削除できます。

$OKButton.Add_Click({
    $RichTextBox.Text -split "`n" | Set-Content -Path c:\Computers.txt
    $objForm.Close()
})
于 2012-11-20T19:47:29.263 に答える
0

RichTextBox は、RTF 形式のテキストを提供したいと考えています。Text を要求すると、書式設定コードが取り除かれ、文字とスペースだけが返されると思います。それが軽量の ascii 書式設定に変わるとは思いません。

ループしてファイルに書き込むことができる string[] を返す .Lines プロパティを使用することをお勧めします。

参照: http://msdn.microsoft.com/en-us/library/system.windows.forms.textboxbase.lines.aspx

于 2012-11-20T19:46:01.210 に答える