将所有输出重定向到 PowerShell 中的文件
Redirect all output to a file in PowerShell
我想将所有输出重定向到一个文件,如下所示:
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
时,它不会将错误写入文件,而只会写入控制台。
有没有办法在文件名中使用特殊字符时将所有输出都包含在文件中?
您可以使用 Start-Transcript and Stop-Transcript cmdlet:
Start-Transcript -Path '\SERVER\s$\Test\test[0].log'
# Your code
Stop-Transcript
我想我找到了:
Write-Error 'bla' 2>&1 | Out-File -LiteralPath '\SERVER\s$\Test\test[0].log' -Append
我想将所有输出重定向到一个文件,如下所示:
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
时,它不会将错误写入文件,而只会写入控制台。
有没有办法在文件名中使用特殊字符时将所有输出都包含在文件中?
您可以使用 Start-Transcript and Stop-Transcript cmdlet:
Start-Transcript -Path '\SERVER\s$\Test\test[0].log'
# Your code
Stop-Transcript
我想我找到了:
Write-Error 'bla' 2>&1 | Out-File -LiteralPath '\SERVER\s$\Test\test[0].log' -Append