我想将 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/