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

标签 powershell glob

在 Linux 中,Bash 支持 negation syntax in glob pattern例如 [!abc] 表示除 abc 之外的一个字符。

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

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

  • ls tes[!s].txt 不返回任何内容。
  • ls tes[!t].txt 返回 test.txt

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

最佳答案

不,它没有(正如您从没有记录或工作的此类功能中正确推断出的那样)。

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

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

关于powershell - PowerShell 是否支持 glob 模式中的否定语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47638612/

相关文章:

windows - 如何将版本和源信息添加到 powershell 别名?

mysql - 切片类型后循环

javascript - 如何为对象实现 glob ** ?

Gitignore 所有以句点开头的文件夹

delphi - 如何查找目录中的所有 MP3 文件?

python - 使用 pandas(和 glob?)合并目录中的大量(csv)数据文本文件

Powershell脚本更改父powershell的目录

.net - 在SQL Server中还原数据库失败

powershell - 我可以以Unix方式将参数传递给Powershell函数吗?

bash - 在 unix/linux shell 中进行模式匹配时如何使用反向或负通配符?