为什么我必须按两次Enter才能执行Foreach-Object Cmdlet?

时间:2016-06-10 17:47:35

标签: powershell cmdlet

编者按:
*此问题归结为:在PowerShell 命令行上输入多行命令时,为什么必须按Enter 两次提交吗? Tony Hinkle's answer解释了原因 *关于同一命令的部分也需要在从脚本运行时输入击键是基于误解 - 该命令不需要击键,它只是仍在运行。 功能

我正在将对象传递给Foreach-Object Cmdlet,我注意到当我从脚本运行它时,它只是坐在那里,当我通过键入代码来运行它时我最终不得不按两次输入在最后一个花括号之后让它再次起作用。

gci $path -recurse | %{ 
    ...
}
echo "test"

有没有办法避免这种情况?那么代码一直在运行?

1 个答案:

答案 0 :(得分:2)

当您逐行在PowerShell命令窗口中键入脚本时,它需要一种方法来知道您已完成输入脚本,因此输入空行是运行脚本的提示。要避免这种情况,请在同一行中键入所有内容:

gci $path -recurse | %{ $_ } ; echo "test"