我正在批处理文件中运行PowerShell脚本.该脚本获取一个网页并检查该页面的内容是否为字符串"OK".
PowerShell脚本向批处理脚本返回错误级别.
批处理脚本由ScriptFTP执行,ScriptFTP是一个FTP自动化程序.如果发生错误,我可以让ScriptFTP通过电子邮件将完整的控制台输出发送给管理员.
在PowerShell脚本中,如果它不是"OK",我想从网站输出返回值,因此错误消息包含在控制台输出中,因此也包含在状态邮件中.
我是PowerShell的新手,不知道要使用哪个输出函数.我可以看到三个:
用什么来写Windows等价的东西是正确的stdout?
我对打印(回显)到控制台的各种方法有点困惑.我已经看到有多种方法可以将输出写入控制台,例如:
Write-Host "Hello world1"
"Hello World2"
Out-Host -InputObject "Hello World3"
Run Code Online (Sandbox Code Playgroud)
这三种方式都将打印到控制台.中间的一个更简单,更简洁,更容易使用.我还发现当你编写一个函数时:
function GetValues()
{
"1"
"2"
}
Run Code Online (Sandbox Code Playgroud)
它仍然在管道中返回两个字符串:
我仍然可以打印出值:
foreach ($s in GetValues)
{
Write-Host "s: " $s
}
Run Code Online (Sandbox Code Playgroud)
我发现的事情是,仅使用引用的字符串并不总是出现在自定义主机上,而且我必须使用Write-Host来获取要在自定义主机上打印的值.
不知怎的,我发现这令人困惑.被"Print something"认为是一个别名Write-Host或有什么意图?