最近,我一直在使用 PowerShell,我注意到在使用管道和foreach
循环时出现了一些我无法理解的奇怪行为。
这个简单的代码可以工作:
$x = foreach ($i in gci){$i.length}
$x | measure -max
Run Code Online (Sandbox Code Playgroud)
说得通。
但这段代码不会:
foreach ($i in gci){$i.length} | measure -max
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
$x = foreach ($i in gci){$i.length}
$x | measure -max
Run Code Online (Sandbox Code Playgroud)
这两种方法有什么区别,为什么第二种方法会失败?