如果-match不区分大小写,为什么我们需要-imatch?

Max*_*one 0 powershell

提供似乎是多余的-match,并且-imatchif-match已经不区分大小写。他们之间有什么区别吗?

mkl*_*nt0 6

详细说明Doug Maurer的评论:

(也)对字符串进行操作的PowerShell 运算符i的 - 前缀变体是不必要。事实上,它们只是其无前缀形式的别名,因此与例如 and-imatch相同,并且 - 对于字符串输入 - 始终不-match区分大小写,就像 PowerShell 通常所做的那样。

这些变体的存在是为了与- 前缀的运算符变体对称c,它明确请求区分大小写操作(使用字符串输入)。

换句话说:您可以使用i- 前缀的变体来明确指定的操作不区分大小写

然而,对于熟悉 PowerShell基本上不区分大小写性质的人来说,这是没有必要的- 这可能就是为什么您i在实践中很少看到 - 前缀的变体。