错误重定向在PowerShell中不起作用

时间:2018-01-30 18:44:15

标签: powershell redirect

当我输入' 4abd'在powershell中,它提供了以下输出。

4abd:术语' 4abd'不被识别为cmdlet,函数,脚本文件或可操作程序的名称。检查名称的拼写,或路径是否正确 包含,验证路径是否正确,然后重试。 在行:1个字符:1 + 4abd + ~~~~     + CategoryInfo:ObjectNotFound:(4abd:String)[],CommandNotFoundException     + FullyQualifiedErrorId:CommandNotFoundException

我想将此错误重定向到文件。我尝试了以下所有方法:

4abd 2>&1>>"D:\\xyz.txt"
4abd 2>&1 >> D:\\xyz.txt
4abd 2>&1 >> xyz.txt
4abd 2>&1 >> "xyz.txt"
4abd 2>"D:\\xyz.txt"
4abd 2>D:\\xyz.txt

但没有任何结果。请帮我解决这个问题。

1 个答案:

答案 0 :(得分:5)

您可以使用Invoke-Expression来完成此操作。 2>&1不适合您的原因是因为命令没有生成错误,PowerShell是。因此,为PowerShell提供一个知道如何使用的cmdlet,如果该cmdlet生成错误,则可以重定向它。

. { Invoke-Expression "4abd" } 2>&1 | Set-Content xyz.txt