PowerShell是否支持glob模式中的否定语法?

时间:2017-12-04 17:17:44

标签: powershell glob

在Linux中,对于除[!abc]ab以外的一个字符,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模式中的否定语法吗?如果没有,你能分享一些替代方案吗?

1 个答案:

答案 0 :(得分:6)

不,它没有(正如你从这样的功能中正确推断出没有记录,也没有工作)。

另一种选择是正则表达式,但您必须自己进行过滤,然后:

Get-ChildItem | Where-Object Name -match '^tes[^t]\.txt$'