我知道我使用以下方法写入文件:
$stream = [System.IO.StreamWriter] "file.txt"
由于我需要使用流,我真的知道我是否可以替换" file.txt"什么东西,以便将写入流的内容打印到控制台(写主机)或写入进度?
提前致谢
答案 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