在Linux中,对于除[!abc]
,a
和b
以外的一个字符,Bash支持negation syntax in glob pattern,例如c
。
我试图在PowerShell中找到类似的内容。
在Supporting Wildcard Characters in Cmdlet Parameters中,没有与否定相关的描述。另外,当test.txt
存在时,我确认了以下内容,这表明不支持!
作为否定语法,如Bash。
ls tes[!s].txt
不返回任何内容。ls tes[!t].txt
返回test.txt
PowerShell支持glob模式中的否定语法吗?如果没有,你能分享一些替代方案吗?
答案 0 :(得分:6)
不,它没有(正如你从这样的功能中正确推断出没有记录,也没有工作)。
另一种选择是正则表达式,但您必须自己进行过滤,然后:
Get-ChildItem | Where-Object Name -match '^tes[^t]\.txt$'