gpt4 book ai didi

Powershell 2 : Easy way to direct every bit of output to a file?

转载 作者:行者123 更新时间:2023-12-02 23:31:38 25 4
gpt4 key购买 nike

我有一个脚本可以生成各种形式的输出——主要是标准输出和错误 channel 。

我试过这样的事情:

script.ps1 > $somefile 2>&1
script.ps1 | tee-object <args>
script.ps1 | out-file <args>

我也试过开始转录/停止转录。所有这些方法都有其缺点,或者只是不明显似乎有效。

与 UNIX 风格调用最接近的 powershell 等效项是什么:
myScript.ps1 > $somefile 2>&1

当我在 powershell 中尝试上述命令时,我在控制台上看到了所有输出,并留下了一个名为“输出”的 0 长度文件。是什么赋予了?

编辑:好的,我相信我的大部分问题在于我使用的是 Write-Host,我认为它绕过了标准输出流。然而,我非常担心,如果我将我的 Write-Host 语句切换为 Write-Output,那么我最终会破坏我所有函数的返回值,或者以其他方式严重搞砸我的脚本。

处理 Write-Host 条目以便我可以可靠地将所有输出和错误捕获到同一个文件时,我最谨慎的选择是什么?另外,我正在使用 Write-Host 的着色功能......我猜如果我想转储到日志文件,我将不得不放弃它。

或者更好的是,是否可以设置一个命令行参数,比如“-console”来控制是否使用 Write-Host 或其他东西?我的脚本最初每天以手动和交互方式运行数十次。然后它将在 future 几年每天每小时运行一次,在那里需要所有输出/错误的日志。

最佳答案

而不是做

myScript.ps1 > $somefile

你可以做
powershell myScript.ps1 > $somefile

关于Powershell 2 : Easy way to direct every bit of output to a file?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7355137/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com