我有一个PowerShell脚本,可根据选择标准处理目录中的文件。对于一次运行,我需要对所有HTML文件执行操作,因此我使用以下代码。
$bkppath = "\\filepath"
$selectionFilter = "*.htm*"
$srcfiles = Get-ChildItem $bkpPath -filter $selectionFilter
ForEach($doc in $srcfiles) {
do-stuff
}
对于另一次运行,我需要对目录中与 相关的任何内容采取行动,因此我想要排除*.htm*
,*.js
,{{1 }和*.ico
。我无法找到将这些多个值应用于*.xml
变量的正确语法。
我需要这样的东西:
selectionFilter
或
$selectionFilter = !("*.htm*" or ".js" or "*.xml" or "*.ico")
这两个都给我一个语法错误。
我无法在MSDN上找到任何涉及如何处理这样的多个值的内容。你能指点我正确的方向吗?
答案 0 :(得分:0)
虽然-exclude *.ico, *.js, *xml
要更正排除的语法,但一个重要的警告是,应用排除的路径名必须以\*
结尾才能使其正常工作。 -filter
没有此要求;那就是我搞砸了。
$srcfiles = Get-ChildItem $bkpPath\* -exclude *.htm*, *.js, *.xml, *.ico
将是我示例中的正确语法。