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

Does PowerShell support negation syntax in glob pattern?

在 Linux 中,Bash 支持 negation syntax in glob pattern,例如 [!abc] 除了 ab 和 [=13] 之外的一个字符=].

我正试图在 PowerShell 中找到类似的东西。

Supporting Wildcard Characters in Cmdlet Parameters中没有与否定相关的描述。此外,当 test.txt 存在时,我确认了以下内容,这表明不支持 ! 作为否定语法,如 Bash.

PowerShell 是否支持 glob 模式中的否定语法?如果没有,您可以分享一些替代方案吗?

不,它没有(因为您正确地推断出这样的功能没有被记录,也没有工作)。

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

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