我正在运行一个PowerShell脚本,它自己调用另一个脚本。在第一个脚本中,当我放置回显时,一切正常,但在第二个(“客户端”)脚本中无法显示任何回显以显示任何内容。如何从“客户端”PowerShell脚本获取回显工作?
我怎样才能得到回声工作?
我在Windows 7 Pro和PowerGUI上使用PowerShell 2.0。 (我也尝试过使用ISE,但它没有帮助)
我正在运行一个PowerShell脚本,它自己调用另一个脚本。在第一个脚本中,当我放置回显时,一切正常,但在第二个(“客户端”)脚本中无法显示任何回显以显示任何内容。如何从“客户端”PowerShell脚本获取回显工作?
我怎样才能得到回声工作?
我在Windows 7 Pro和PowerGUI上使用PowerShell 2.0。 (我也尝试过使用ISE,但它没有帮助)
您应该使用Write-Host直接插入echo(女巫是Write-Output的别名)。
脚本示例将有助于给出准确的答案。也就是说,我尝试了嵌套脚本的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
似乎@ Vimvq1987间接调用该脚本。即使用powershell.exe – 2011-06-04 19:28:58
您可以使用Write-Host
写入控制台(主机)
似乎有使用Write-Output
VS Write-Host
(echo
是别名有些混乱对于写输出 - 你可以从Get-Alias中看到它)。 Write-Output
不只是写入控制台。从文档:
将指定的对象发送到管道中的 next命令。如果 命令是 管道中的最后一个命令,那么这些对象将显示在控制台的 中。
这不是阿尔乔姆所说的。他在说'echo'是'write-output'的别名。 – 2011-06-02 17:23:06
@Joel B Fant - 谢谢,我不知道为什么我会这样读它! – manojlds 2011-06-02 18:12:02
它似乎现在工作,但另一个问题:我想打印对象的完整属性,但写主机只打印其类型。我该如何解决这个问题? – Vimvq1987 2011-06-01 08:15:30
您绝不应该使用Write-Host来在脚本中返回或输出某些内容。最好的做法是始终使用写输出 – ravikanth 2011-06-01 08:47:52
ravikanth如果SO想要写入控制台,而不是*管道,那么使用写主机是正确的。这个问题没有明确区分这个问题。 – 2011-06-01 08:53:26