powershell - 如何仅在 PowerShell 中的变量中捕获错误输出

标签 powershell error-handling stream

我想将 PowerShell 命令的 stderr 输出存储在变量中。我不想将其存储在文件中,也不希望包含标准输出,只包含错误输出。

这会重定向到名为 error.txt 的文件:

& $command $params 2> error.txt

这会将 stderr 和 stdout 重定向到 $output 变量:

$output = & $command $params 2>&1

但我只想将错误输出存储在变量中(与上面 error.txt 文件的内容相同),而不向文件写入任何内容。我该怎么做?

最佳答案

您可以以稍微不同的方式调用该命令,并在 PowerShell 中使用 -ErrorVariable 参数:

Invoke-Expression "$command $params" -ErrorVariable badoutput

$badoutput 现在将包含错误字符串的内容。

关于powershell - 如何仅在 PowerShell 中的变量中捕获错误输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27861176/

相关文章:

windows - Windows Docker容器停止执行某些可执行文件

c# - 从 powershell 调用 api 时,空值来自 Post 方法(FromBody)

tsql - T-SQL中的TRY和RAISERROR

flutter - 如何在 flutter 中返回用户流

带有自定义 DataPackage 的 Java NotSerializedException

javascript - 逐行读取 Node 串口流

multithreading - Start-ThreadJob ScriptBlock 出现问题无法找到 powershell 脚本

linux - Windows powershell 中的 tail -f 是什么?

php - 暂时停用set_error_handler

symfony - 将404错误重定向到另一个目录