我正在完成这个迷你应用程序的最后一部分,我从文本文件中提取名称。当从.txt中提取名称时,我会过滤掉某些前缀,例如* eft,* nsm,代码如下所示。
$lines = (Get-Content C:\temp\PROD\Repeat.txt -totalcount 200)
$flines = $lines|?{$_ -notlike "*eft", "nsm*", "*" , "*" .... }
$objOutputBox.Text = $flines
我遇到的问题是它只抓住了“* eft”,而不是其他人。我以为我可以用这种结构过滤一串字符串?如果你不介意,我在这里错过了什么?
由于
答案 0 :(得分:4)
您无法像这样申请-notlike
。您将不得不多次使用该运算符:
-notlike '*eft' -notlike 'nsm*' ...
但更好的方法可能是正则表达式:
-notmatch 'eft$|^nsm|...'