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

Powershell 如果-match不区分大小写,为什么需要-imatch?,powershell,Powershell,如果-match已不区分大小写,则提供-match和-imatch似乎是多余的。他们之间有什么不同吗?要详细说明的评论: 对字符串进行操作的i前缀变体从来都不是必需的。事实上,它们只是它们的非前缀形式的别名,因此,例如,-imatch与-match相同,并且对于字符串输入,总是不区分大小写,就像PowerShell通常所做的那样 这些变体与c前缀运算符变体对称,它们明确请求区分大小写的操作(使用字符串输入) 换句话说:您可以使用带有前缀的变量i,明确指定的操作不区分大小写。 但是,对于熟悉Pow

如果
-match
已不区分大小写,则提供
-match
-imatch
似乎是多余的。他们之间有什么不同吗?

要详细说明的评论:

对字符串进行操作的
i
前缀变体从来都不是必需的。事实上,它们只是它们的非前缀形式的别名,因此,例如,
-imatch
-match
相同,并且对于字符串输入,总是不区分大小写,就像PowerShell通常所做的那样

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

换句话说:您可以使用带有前缀的变量
i
,明确指定的操作不区分大小写。


但是,对于熟悉PowerShell基本上不区分大小写的特性的人来说,这是不必要的——这可能就是为什么在实践中很少看到带前缀的
i

对于stackoverflow来说,这不是一个合适的问题。要回答你的问题,你可以用它来明确。这清楚地表明了作者不区分大小写的意图。这是您应该通过MS Powershell问题GitHub向MS Powershell团队提出的问题。对于PowerShell的本机功能,像这样的公共问答网站是无能为力的。对于跨平台PowerShell(OSX/Linux)文件等,是区分大小写的。我们都知道Windows不是,但是如果您在试图评估的文件中获得文件或数据,并且无法在该文件中更改,那么这就是这些文件或数据存在的原因。任何解决方案提供的有用与否取决于您和您的用例。这个问题怎么不合适?我在问一个关于代码的问题,如果有一个细节我不知道。我并不期待PS团队或任何人对此做出任何回应,我只是想解释一下其中的微妙之处,正如@mklement0在下面的答案中所做的那样。