什么是“$?”在PowerShell中意味着什么

时间:2013-06-21 14:53:46

标签: variables powershell error-handling powershell-v2.0

我是PowerShell的新手。在查找有关错误处理的信息时,我发现了许多使用“$?”的参考资料。

我知道它与错误有关但究竟是什么呢?我在哪里可以阅读更多相关信息?

我的所有Google搜索都没有找到任何内容。

2 个答案:

答案 0 :(得分:9)

来自The Essential Windows PowerShell Cheat Sheet

错误和调试:可以通过检查$?

来确定最后一个命令的成功或失败状态

示例:

> Get-Content file-that-exists.txt
Hello world
> Write-Host $?
True
> Get-Content file-that-does-not-exist.txt
Get-Content : Cannot find path 'C:\file-that-does-not-exist.txt' because it does not exist.
At line:1 char:1
+ Get-Content file-that-does-not-exist.txt
+ ~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (C:\file-that-does-not-exist.txt:String) [Get-Content], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetContentCommand
> Write-Host $?
False

答案 1 :(得分:2)

在问这个之后我发现了命令 “Get-Help -name about_automatic_variables”

这提供了有关powershell中每个自动变量的信息,这非常有用