当我在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

但是什么都没有解决。请帮我解决这个问题。

最佳答案

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

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

关于powershell - 错误重定向在Powershell中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48528438/

10-08 21:45