在Linux中,Bash支持glob模式中的否定语法,例如
我正在尝试在PowerShell中找到类似的功能。
在支持Cmdlet参数中的通配符字符中,没有关于否定的说明。此外,当存在
[!abc]
表示除了a
、b
和c
之外的一个字符。我正在尝试在PowerShell中找到类似的功能。
在支持Cmdlet参数中的通配符字符中,没有关于否定的说明。此外,当存在
test.txt
时,我确认了以下内容,这表明!
不像Bash那样支持否定语法。
ls tes[!s].txt
不返回任何内容。ls tes[!t].txt
返回test.txt
Get-ChildItem 'tes?.txt' | Where-Object { $_.Name -notlike 'tes[qrs].txt' }
。 - Ansgar WiechersGet-ChildItem
过滤器,它告诉提供程序在将结果发送到PowerShell之前对其进行过滤。该提供程序非常高效(毕竟,它只有一个工作),包括过滤结果,因此在这方面比PowerShell快得多。尽可能在提供程序级别进行过滤。 - TheMadTechnician