在Powershell中发布尝试过滤器

时间:2013-03-18 22:04:37

标签: powershell

我正在完成这个迷你应用程序的最后一部分,我从文本文件中提取名称。当从.txt中提取名称时,我会过滤掉某些前缀,例如* eft,* nsm,代码如下所示。

$lines = (Get-Content C:\temp\PROD\Repeat.txt  -totalcount 200)

$flines = $lines|?{$_ -notlike "*eft", "nsm*", "*" , "*" .... }

$objOutputBox.Text = $flines

我遇到的问题是它只抓住了“* eft”,而不是其他人。我以为我可以用这种结构过滤一串字符串?如果你不介意,我在这里错过了什么?

由于

1 个答案:

答案 0 :(得分:4)

您无法像这样申请-notlike。您将不得不多次使用该运算符:

-notlike '*eft' -notlike 'nsm*' ...

但更好的方法可能是正则表达式:

-notmatch 'eft$|^nsm|...'