Spe*_*ico 2 powershell write-host
我是PowerShell的新手,因此可以自我学习。我的问题是,您是否可以在同一行上同时执行“写入主机”和“日志写入”操作?
我所拥有的是:
Write-Host "Node Id is $nodeProps["NodeID"]"
LogWrite "Node Id is $nodeProps["NodeID"]"
Run Code Online (Sandbox Code Playgroud)
但我想知道是否有一种方法可以做到:
Write-Host, LogWrite "Node Id is $nodeProps["NodeID"]"
Run Code Online (Sandbox Code Playgroud)
感谢您提供的所有帮助!
可以将管道与ForEach-Objectcmdlet(%是其内置别名)一起使用,如下所示:
"Node Id is $($nodeProps["NodeID"])" | % { Write-Host $_; LogWrite $_ }
Run Code Online (Sandbox Code Playgroud)
请注意,如何将对引用的引用$nodeProps["NodeID"]包含在内$(...)。
如果反复需要此功能,请定义一个(简单的)函数:
function writeAndLog([string] $msg) { Write-Host $msg; LogWrite $msg }
writeAndLog "Node Id is $($nodeProps["NodeID"])"
Run Code Online (Sandbox Code Playgroud)
PS:由campbell.rw的评论提示:
如果你不喜欢使用的想法ForEach-Object-这是通常用于循环在多个输入对象-在一个单一的输入项,你可以用一个脚本块,用&中,调用操作:
& { Write-Host $args[0]; LogWrite $args[0] } "Node Id is $($nodeProps["NodeID"])"
Run Code Online (Sandbox Code Playgroud)
$args是所有(未绑定)参数的集合,因此$args[0]是指第一个。(在这种情况下,引用$args也可以。)
| 归档时间: |
|
| 查看次数: |
1595 次 |
| 最近记录: |