将所有输出重定向到PowerShell中的文件

问题描述 投票:1回答:2

我想将所有输出重定向到一个文件,如下所示:

Write-Error 'bla' *>>  '\\SERVER\s$\Test\test.log'

问题是当我想使用LiteralPath时,它失败了,因为它试图将路径解析为wildcard path。所以这失败了:

Write-Error 'bla' *>>  '\\SERVER\s$\Test\test[0].log'

尝试使用Write-Error 'bla' | Out-File -LiteralPath时,它不会将错误写入文件,而只会写入控制台。

在文件名中使用特殊字符时,是否有办法在文件中包含所有输出?

powershell stderr
2个回答
1
投票

你可以使用Start-TranscriptStop-Transcript cmdlet:

Start-Transcript -Path '\\SERVER\s$\Test\test[0].log'
# Your code
Stop-Transcript

1
投票

我想我已经找到了:

Write-Error 'bla' 2>&1 | Out-File -LiteralPath '\\SERVER\s$\Test\test[0].log' -Append
© www.soinside.com 2019 - 2024. All rights reserved.