检查最后运行命令的状态

Posted on 2018-11-19 00:53  努力成长静待花开  阅读(294)  评论(0编辑  收藏  举报

命令有二:

 来个示例:(命令执行成功的)

PS C:\> ping localhost

正在 Ping DESKTOP-IFUCA16 [::1] 具有 32 字节的数据:
来自 ::1 的回复: 时间<1ms 
来自 ::1 的回复: 时间<1ms 
来自 ::1 的回复: 时间<1ms 
来自 ::1 的回复: 时间<1ms 

::1 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 0ms,最长 = 0ms,平均 = 0ms

PS C:\> $LASTEXITCODE
0

PS C:\> $?
True

  (命令执行出错的)

PS C:\> ping vm_host
Ping 请求找不到主机 vm_host。请检查该名称,然后重试。

PS C:\> $?
False

PS C:\> $LASTEXITCODE
1

 补充:

  发生以下错误时,power shell 会设置$?变量为False:

  • 应用程序的退出代码为非零
  • cmdlet获取脚本输出错误信息
  • cmdlet或脚本捕获到终止错误或异常