【问题标题】:how to get -verbose output to a text file in powershell如何在powershell中将-verbose输出到文本文件
【发布时间】:2019-03-30 04:05:10
【问题描述】:

我想将详细结果保存到 powershell 中的日志文件中,我可以在 shell 中看到详细行但无法将其放入变量或日志文件中

我使用了Tee-Object 并给出了文件路径,但它似乎不起作用

Move-Item $source $_.File_Destination_Path -Force -Verbose | tee -Append -FilePath $Logfile

日志文件中的预期输出-"VERBOSE: Performing the operation "Move File...." 但是结果是空白的,请帮我解决这个问题

【问题讨论】:

  • 阅读Get-Help about_redirection或查看online
  • @LotPings 它没有说要在文本文件中获取详细输出,我已经尝试过 Tee-Object 但它没有给出任何详细输出
  • 使用4>&1 将详细输出流 (4) 与成功输出流 (1) 合并。 Get-Help about_redirection 清楚地解释了这一点。

标签: powershell


【解决方案1】:

正如 cmets 所提到的,您应该查看the about_Redirection msdn topic。在实践中,它看起来像:

Move-Item -Path $source -Destination $_.File_Destination_Path -Force -Verbose 4>&1 |
    Tee-Object -Append -FilePath $Logfile

注意VERBOSE: 位是由 添加的,您需要自己附加它以使其在输出文件中可见。

【讨论】:

  • 能够在文本文件上获得输出,但详细输出包括每个字符之间的尾随空格,为什么它在文件中提供这些空间,而不是在屏幕上
  • @fmsrv 不知道你在说什么,但这听起来像是编码问题。
  • @fmsrv 参考这个question 这将有助于解决您基于编码的查询,可以尝试-encoding utf8
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-08
  • 2014-01-18
  • 1970-01-01
  • 2019-03-17
  • 2021-08-24
  • 2023-02-06
  • 2020-07-02
相关资源
最近更新 更多