$?Powershell 是什么意思?
编辑:TechNet在重言式中的答案,没有解释"成功"或"失败"的含义.
$?
包含上次操作的执行状态.如果上一次操作成功,则包含TRUE;如果失败,则包含FALSE.
我推测是$?只会测试$ LastExitCode是否为0,但我找到了一个计数器示例,其中$?是假,但$ LastExitCode为True.
RB.*_*RB. 48
true如果最后一个命令成功则返回,否则返回false.
然而,有许多警告和非显而易见的行为(例如,"成功"究竟是什么意思).我强烈建议您阅读本文以获得更全面的治疗.
例如,考虑调用Get-ChildItem.
PS> Get-ChildItem
PS> $?
True
Run Code Online (Sandbox Code Playgroud)
$?将True在Get-ChildItem的调用成功时返回.
但是,如果在不存在的目录上调用Get-ChildItem,则会返回错误.
PS> Get-ChildItem \Some\Directory\Which\Does\Not\Exist
Get-ChildItem : Cannot find path 'C:\Some\Directory\Which\Does\Not\Exist' because it does not exist.
PS> $?
False
Run Code Online (Sandbox Code Playgroud)
$?将返回False此处,因为上一个命令未成功.
小智 5
$?将包含$false最后一个命令是否导致错误.$true如果没有,它将包含.在PowerShell v1时代,这是执行错误处理的常用方法.例如,在脚本中,如果要检查文件是否存在,然后打印自定义消息(如果没有),则可以执行以下操作:
Get-Item -Path john -ErrorAction silentlycontinue;
if( -not $?)
{
'could not find file.';
exit
}`
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28485 次 |
| 最近记录: |