PowerShell [System.IO.StreamWriter]写入控制台(Write-Host)?

时间:2014-07-07 12:40:42

标签: ios powershell

我知道我使用以下方法写入文件:

      $stream = [System.IO.StreamWriter] "file.txt"

由于我需要使用流,我真的知道我是否可以替换" file.txt"什么东西,以便将写入流的内容打印到控制台(写主机)或写入进度?

提前致谢

2 个答案:

答案 0 :(得分:1)

我会考虑编写一个能够执行这两个操作的函数。这非常通用,但会从管道中获取您想要的输入,然后写入流并将输出写入控制台。

# Generic function name modeled after Tee-Object, which outputs to console and file
Function Tee-Object1 {
    Param (
        [parameter(ValueFromPipeline=$True)]
        $InputObject
    )    
    Process {
        # Write to stream
        [void]$Script:Stream.Write($_)
        # Write to console
        $_
    }
}

$Script:stream = [System.IO.StreamWriter] "file.txt"
# Whatever your data is will be piped into the function
$data | Tee-Object1

答案 1 :(得分:0)

您应该现在可以使用[Console] :: Out来获取对当前stdout流的引用

https://docs.microsoft.com/en-us/dotnet/api/system.console.out?view=netcore-3.1#System_Console_Out