我正在使用这个命令
Where {$_.Extension -match "zip||rar"}
但是也需要使用这个命令
Where {$_.FullName -notlike $IgnoreDirectories}
我应该用&&或II,如
Where {$_.Extension -match "zip||rar"} && Where {$_.FullName -notlike $IgnoreDirectories}
或
Where {$_.Extension -match "zip||rar"} || Where {$_.FullName -notlike $IgnoreDirectories}
?
我想要完成的是有每个zip和rar文件被提取,但我想跳过在我的一些目录的zip或rar文件的提取。最好的解决方案是什么?
如果有疑问,请阅读文档。
Windows PowerShell支持以下逻辑操作符:
-and
逻辑与。-or
逻辑或。-xor
逻辑互斥或。只有当一个语句为TRUE而另一个语句为FALSE时才为TRUE。-not
逻辑无。对后面的语句取反。!
逻辑不。否定后面的语句。(同-not
)
将两个子句放在同一个scriptblock中,并使用相应的逻辑运算符将它们连接起来。对于两个子句之间的逻辑与,使用-and
:
Where-Object {
$_.Extension -match "zip||rar" -and
$_.FullName -notlike $IgnoreDirectories
}
对于两个子句之间的逻辑或使用-or
:
Where-Object {
$_.Extension -match "zip||rar" -or
$_.FullName -notlike $IgnoreDirectories
}
对你来说,可能是前者。
请注意,您的正则表达式zip||rar
匹配由于两个|
之间的空字符串而产生的任何扩展。若要只匹配扩展名为.rar
或.zip
的项,请删除一个管道:$_.Extension -match "zip|rar"
.