对于每个正在处理的文件,都会检查其名称是否满足条件。例如,给定以下过滤器列表:
$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 本身不支持它,那么实现它的最简单方法是什么?