我已经回到这个片段 powershell 代码有一段时间了,我似乎找不到解决方案。基本上,我在 WinForm 中有一个文本框,我在文本框中输入名称,如 ckcTsetg、minintKLV、bbcada、tyleass 等。当我将它们放入文本框中时,我单击此过滤按钮,然后过滤掉以下正确的“ckcTsetg,minintKLV”。我遇到的问题是其他不被过滤掉的东西也被删除了,或者它们永远不会到达。当我单击过滤器按钮时,我的目标是过滤掉“$logOutputBox.TEXT”中的文本,然后过滤后的列表将通过 $objOutputBox.TEXT = $Numbered 传递给另一个框“$objOutputBox.TEXT”。相反,它完全过滤了整个列表.. 如果我事先获取有效名称,它们将被传递给“$objOutputBox.TEXT”,没问题。我尝试了一些不同的东西,但似乎没有任何效果。有任何想法吗?谢谢你的帮助!
$repeatButton = New-Object System.Windows.Forms.Button
$repeatButton.Location = New-Object System.Drawing.Size(310,375)
$repeatButton.Size = New-Object System.Drawing.Size(160,43)
$repeatButton.Font = New-Object System.Drawing.Font("Courier New", "10")
$repeatButton.Text = "Filter"
$repeatButton.Add_Click({
$Filtered = $logOutputBox.TEXT
$Numbered = $Filtered.Split("' ")| ? {$_ -notmatch "etg$|^minint|kvmlc*|dsm|les"}
$objOutputBox.TEXT = $Numbered
})
$tunerForm.Controls.Add($repeatButton)