Syntax 什么';基于多个值设置Powershell筛选器变量的正确语法是什么?
我有一个PowerShell脚本,它根据选择条件处理目录中的文件。对于一次运行,我需要处理所有HTML文件,因此我使用以下代码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无关的任何
$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")