【发布时间】:2012-10-22 20:22:00
【问题描述】:
对于每个正在处理的文件,都会检查其名称是否满足条件。例如,给定以下过滤器列表:
$excludeFiles = @"
aaa.bbb
ccccc.*
ddddd???.exe
"@ | SplitAndTrim;
如果文件与任何行匹配,它应该从处理中排除文件。尽量避免match/regex,因为这个脚本需要被不知道的人修改,并且有几个地方需要实现。
$excludedFiles 和类似的被故意定义为here-string。它允许最终用户/操作员直接从 CMD/Powershell 窗口粘贴一堆文件名。
Powershell 似乎不接受针对数组的-like,所以我不能这样写:
"ddddd000.exe" -like @("aaa.bbb", "ccccc.*", "ddddd???.exe")
我错过了一个选项吗?如果 Powershell 本身不支持它,那么最简单的实现方法是什么?
【问题讨论】:
-
查看乔什·爱因斯坦的回答:stackoverflow.com/questions/848859/…
-
谢谢,@dugas,但我不明白为什么会出现这些并发症 - 与下面的两行相比 - 请参阅我接受的答案。
标签: arrays powershell sql-like