0

我一直在努力弄清楚如何使用从文本框到 .txt 的“Out-File”并限制该文件的行数。在从 TextFile 排序到 Textbox 时,我已经能够使用 Get-content 并使用 -totalcount 5 来​​执行此操作。

我现在有这个。我只是不知道如何限制从盒子 $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 中。即使在文本框中它们正在下降,这是否有原因?

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

谢谢,

迈克尔

4

2 回答 2

1

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

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

为了让 PowerShell 自动将字符串数组$lines连接成字符串,您需要

$text_box.Text = $lines -join "`n"
于 2013-03-15T08:19:46.213 回答
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过滤您想要的数量。

于 2013-03-15T04:30:58.513 回答