如何从“客户端”PowerShell脚本获得echo工作?

时间:2011-06-01 08:04:11

标签: .net scripting powershell

我正在运行PowerShell脚本,它自己调用另一个脚本。在第一个脚本中,当我放回echo时,一切正常,但我无法在第二个(“客户端”)脚本中获得任何回显以显示任何内容。

我如何获得回音工作?

我在Windows 7 Pro上使用PowerShell 2.0,使用PowerGUI。 (我也试过ISE,但没有用)

3 个答案:

答案 0 :(得分:2)

您应该直接使用Write-Host而不是echo(它是Write-Output的别名)。

答案 1 :(得分:1)

您的脚本示例有助于提供准确的答案。也就是说,我尝试了嵌套脚本的Write-Output,一切似乎都适合我。

#Script1.ps1
Write-Output "Script 1"
Write-Output "Calling Script 2"
./Script2.ps1

#Script2.ps1
Write-Output "Script 2"
Write-Output "Script 2 End"

而且,输出:

PS> .\Script-one.ps1
Script 1
Calling Script 2
Script 2
Script 2 End

答案 2 :(得分:1)

您可以使用Write-Host写入控制台(主机)

使用Write-OutputWrite-Host似乎有些混淆(echo是写输出的别名 - 您可以从Get-Alias中看到它)。 Write-Output不只是写入控制台。来自文档:

  

将指定的对象发送到   管道中的下一个命令。如果   command是最后一个命令   管道,对象显示在   控制台。