Syntax 什么';基于多个值设置Powershell筛选器变量的正确语法是什么?

Syntax 什么';基于多个值设置Powershell筛选器变量的正确语法是什么?,syntax,global-variables,powershell-2.0,Syntax,Global Variables,Powershell 2.0,我有一个PowerShell脚本,它根据选择条件处理目录中的文件。对于一次运行,我需要处理所有HTML文件,因此我使用以下代码 $bkppath = "\\filepath" $selectionFilter = "*.htm*" $srcfiles = Get-ChildItem $bkpPath -filter $selectionFilter ForEach($doc in $srcfiles) { do-stuff } 对于另一次运行,我需要对目录中与HTML无关的任何

我有一个PowerShell脚本,它根据选择条件处理目录中的文件。对于一次运行,我需要处理所有HTML文件,因此我使用以下代码

$bkppath = "\\filepath"
$selectionFilter = "*.htm*"  
$srcfiles = Get-ChildItem $bkpPath -filter $selectionFilter

ForEach($doc in $srcfiles) {
     do-stuff
}
对于另一次运行,我需要对目录中与HTML无关的任何内容执行操作,因此我希望排除
*.htm*
*.js
*.ico
*.xml
。我无法找到将这些多个值应用于我的
selectionFilter
变量的正确语法

我需要这样的东西:

$selectionFilter = !("*.htm*" or ".js" or "*.xml" or "*.ico")

这两个都给了我一个语法错误


我在MSDN上找不到任何关于如何处理这样多个值的内容。您能给我指出正确的方向吗?

虽然
-exclude*.ico、*.js、*xml
是为了纠正排除的语法,但一个重要的警告是,应用排除的路径名必须以
\*
结尾才能起作用<代码>-过滤器没有此要求;这就是我被搞砸的地方


$srcfiles=Get ChildItem$bkpPath\*-exclude*.htm*、*.js、*.xml、,*.ico
在我的示例中是正确的语法。

为什么不在另一次运行中使用
get childitem
-exclude
参数?
-exclude
也可以……但我的问题是,我找不到将多个值应用于参数的正确语法示例。例如,我可以
-exclude“*.ico”
,但不知道
-exclude(“*.ico”或“*.js”)的正确语法
-exclude*.ico、*.js、*.xml
等等。。。
$srcfiles = Get-ChildItem $bkpPath -filter !("*.htm*" or ".js" or "*.xml" or "*.ico")