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

当我在powershell中输入'4abd'时,它给出了以下输出 .

4abd:术语“4abd”未被识别为cmdlet,函数,脚本文件或可操作程序的名称 . 检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试 . 在行:1 char: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)

3 years ago

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

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