在powershell中设置多行文本框中的行限制

时间:2013-03-15 03:56:22

标签: powershell

我一直在努力弄清楚如何使用文本框中的“Out-File”到.txt并限制该文件的行数。我已经能够以相反的方式做到这一点 从TextFile到Textbox排序时获取内容并使用-totalcount。

我现在有这个。我只是不知道如何限制从框$ objOutputBox.Text拉到文件chines.txt的行数。如果我说20行是$ objOutputBox.Text中降序的名字而我只想要10来结转,这就是我想要完成的。

$objOutputBox.Text | Out-File C:\temp\PROD\chines.txt 

在Poweshell中使用Out-File时,有一种简单的方法来设置行限制吗?我遇到的另一个问题是,当我逐行输入到文本框中并单击按钮来输出文件时,它们放置的行将下降到chines.txt。当我使用Get-Content从另一个文件中获取某些行(在.txt中降序)来填充文本框(降序)时,我使用Out-File将相同的行推送到chines.txt它们被放置为如下。

kvmlcops0263cdc kvmlcops0264bdc kvmlcops0264cdc kvmlcops0265bdc kvmlcops0265cdc

而不是

kvmlcops0263cdc

kvmlcops0264bdc

kvmlcops0264cdc

kvmlcops0265bdc

kvmlcops0265cdc

当我直接在框中键入名称并使用Out-File时,它们将按照上面的降序放入txt中。是否有理由这样,即使在文本框中它们正在下降?

非常需要您的帮助,非常感谢。

谢谢,

迈克尔

2 个答案:

答案 0 :(得分:1)

试试这个:

[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")    
$text_box = New-Object System.Windows.Forms.TextBox     
$text_box.Multiline = $true 
$text_box.Text = "cat`nhat" 
$text_box.Text.Split("`n") | Select -First 1 | Out-File output.txt

拆分换行符`n上的文字并使用Select-Object过滤所需的数量。

答案 1 :(得分:1)

对于第一个问题,Andy给出了一个很好的例子,对于第二个问题,我认为这是因为你将get-content的输出直接分配给$ text_box.Text,如

$lines = Get-Content "temp.txt"
$text_box.Text = $lines

因此,字符串数组$lines由PowerShell自动连接成一个字符串,您需要

$text_box.Text = $lines -join "`n"