在 powershell 中将函数结果与字符串连接起来

在 powershell 中将函数结果与字符串连接起来
function log-file {
  param($message)
  Add-Content -path $logfile -Value "$(Get-Date) $message"
}

function ping-server {
  param($server)
  $ping = New-Object System.Net.NetworkInformation.Ping
  $ping.Send("$server")
}

log-file "Pinging server = " + (ping-server $server).status

我怎样才能使上面的代码在一行中工作而不是这样做:

$pingable = (ping-server $server).status
log-file "Pinging server = $pingable"

答案1

尝试对日志文件函数调用进行以下修改

log-file $("Pinging server = " + (ping-server $server).status)

答案2

在 PowerShell 中有很多方法可以连接/粘合字符串,但我更喜欢避免使用加号,因为它的主要作用是加法,有时会把字符串弄乱。

我认为更有效、更易读的方式如下:

log-file $("Pinging server = $((ping-server $server).status)")

只需将您的函数包装在 $() 中并将其放在双引号内。

阅读更多

相关内容