首页 > 解决方案 > 添加内容未附加到最后一个输出

问题描述

我想将输出附加到最后一个控制台输出。

  $r = write-output "$server - $db"
  $r
  Add-Content $r -Value " : Success!"

基本上我试图得到这个输出:

服务器 - 数据库:成功!

在 MS 文档上,https: //docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/add-content?view=powershell-6

这些示例假设正在使用一个文件。没有办法附加到控制台输出吗?

如果我使用 -PassThru 它在下一行输出,这是我不想要的

服务器 - 数据库

: 成功!

标签: powershell

解决方案


Add-Content专门用于向外部资源(例如文件)添加内容。如果你只想附加到一个字符串,你可以这样做:

$r = "$Server - $DB"
$r
$r = $r + " : Success"
$r 

或者你可以像这样使用字符串插值:

$r = "$r : Success"

默认情况下,您所做的任何未发送到其他地方的操作都会打印到控制台,因此如果您的唯一目标是将变量显示在屏幕上,您无需使用Write-Output甚至更新变量,您只需将这本身就是一条线:

"$r : Success"

如果您的目标是将一些文本写入控制台,然后将一些文本附加到同一行,您可以使用Write-Host

$r = "$Server - $DB"
Write-Host $r -NoNewLine
Write-Host " : Success"

推荐阅读