我正在建立一个包含文件的列表,并将其存储在变量 $list 中。
然后,我想根据变量 $filter 过滤这个列表。目前的解决方案可行,但与正则表达式不兼容。
我的想法是将正则表达式模式放在$filter变量中,这样我就可以捕获像上面$list变量中的
我该如何更改我的代码来支持正则表达式?我尝试了一些不需要分割$list的select-string变体,但并没有得到好结果。我还尝试将我的-notin更改为-notmatch,但这当然根本行不通。
然后,我想根据变量 $filter 过滤这个列表。目前的解决方案可行,但与正则表达式不兼容。
$filter = @("test.txt","Fake","AnotherFile\d{1..6}")
######### HTML TESTS #############
[string]$list = @"
FakeFile.txt
test120119.txt
AnotherFile120119.txt
LastFile.txt
"@
[array]$files = $list -split '\r?\n'
$files = $files | Where-Object {$_} | Where {$_ -notin $filter} # filter out empty items from the array...
$files
我的想法是将正则表达式模式放在$filter变量中,这样我就可以捕获像上面$list变量中的
test120119.txt
这样具有日期时间戳的文件名。我该如何更改我的代码来支持正则表达式?我尝试了一些不需要分割$list的select-string变体,但并没有得到好结果。我还尝试将我的-notin更改为-notmatch,但这当然根本行不通。
$Filter
需要$_
项与$Filter
集合中的一个项的原始文本完全匹配。AdminOfThings
的解决方案似乎更适合您的目标。[咧嘴笑] - Lee_Dailey