Powershell别名工作但不是真正的命令

Powershell别名工作但不是真正的命令,powershell,Powershell,我在Powershell上遇到了一个奇怪的问题。第一行不返回任何结果,而第二行按预期工作并返回一些对象 $result = $files | Where-Object {$_.Name -eq "file.json"} $result = $files | where Name -eq "file.json" 根据Microsoft文档,第二行是较短的alias版本,因此“real”命令不起作用毫无意义。有什么想法吗?您如何初始化$files?这两个

我在Powershell上遇到了一个奇怪的问题。第一行不返回任何结果,而第二行按预期工作并返回一些对象

$result = $files  | Where-Object {$_.Name -eq "file.json"}

$result = $files | where Name -eq "file.json"

根据Microsoft文档,第二行是较短的alias版本,因此“real”命令不起作用毫无意义。有什么想法吗?

您如何初始化
$files
?这两个版本都在本地使用
$files=@(@{“Name”=“file.json”})。要寻找的一件事是在
“file.json”
字符串中不打印字符-尝试在两者中使用一个变量来检查您是否对行为进行了公平比较-例如
$name=“file.json”$结果=$files |其中对象{$\.Name-eq$Name}$结果=$files |其中Name-eq$Name