考虑以下几点:
$var = 'Now is the time'
if ($var -like 'Now*') { 'true' } else { 'false' }
输出:真
现在交换 -like 运算符的两个操作数:
if ('Now*' -like $var) { 'true' } else { 'false' }
输出:假
-like 运算符不是 commutative .这符合预期吗?
我在 Win 7 上,使用的是 PS 版本 2。谢谢。
请您参考如下方法:
-Like 行为不可交换 - 这是预期的。
几点:
- 评论中对上述讨论的总结:交换性会引入歧义:
'Hello.*' - like 'Hello?'- 这会返回true还是false是-like可交换的吗?因此通配符只允许出现在右侧。如果它们出现在左侧尺寸上,则它们被视为文字 - 而不是通配符。
如果其他人有其他有效观点:请随时编辑或给出更好的答案。


