我一直在努力弄清楚如何使用文本框中的“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中。是否有理由这样,即使在文本框中它们正在下降?
非常需要您的帮助,非常感谢。
谢谢,
迈克尔
答案 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"