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

错误重定向在powershell中不起作用,powershell,redirect,Powershell,Redirect,当我在powershell中键入“4abd”时,它会给出以下输出 4abd:术语“4abd”不能识别为cmdlet、函数、脚本文件或可操作程序的名称。检查名称的拼写或路径是否正确 包括,请验证路径是否正确,然后重试。 第1行字符:1 +4abd + ~~~~ +CategoryInfo:ObjectNotFound:(4abd:String)[],CommandNotFoundException +FullyQualifiedErrorId:CommandNotFoundException 我想

当我在powershell中键入“4abd”时,它会给出以下输出

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

但一切都没有结果。请帮助我解决此问题。

您可以使用
调用表达式来完成此操作。
2>&1
不适用于您的原因是命令没有生成错误,PowerShell正在生成错误。因此,相反,为PowerShell提供一个它知道如何使用的cmdlet,如果该cmdlet生成错误,它可以重定向它

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

文件xyz.txt已创建,但未将错误保存在fileRight中,需要对其进行包装。更新的答案,经过测试,现在可以正常工作了。