【问题标题】:PowerShell equivalent of cmd "IF %ERRORLEVEL% NEQ 0"PowerShell 等效于 cmd "IF %ERRORLEVEL% NEQ 0"
【发布时间】:2016-06-13 14:04:25
【问题描述】:

寻找与此 cmd 错误检查等效的 PowerShell:

IF %ERRORLEVEL% NEQ 0

这是我正在尝试编写的 PowerShell 代码:

Write-Information "Installing .NET 3 from DVD:"
$NetFX3_Source = "D:\Sources\SxS"
dism /online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:$NetFX3_Source /NoRestart
IF (****TheCommandYouTellMe****) {
Write-Information "DVD not found, installing from online sources, the Win default method"
DISM.EXE /Online /Add-Capability /CapabilityName:NetFx3~~~~
Add-WindowsCapability –Online -Name NetFx3~~~~
}

【问题讨论】:

  • $? 用于内部命令,$LASTEXITCODE 用于外部
  • 我正在寻找如何检查是否有任何错误并在存在错误时执行此操作。感谢您告诉我要检查哪个变量,但我该如何检查呢?
  • 很好的区别@MathiasR.Jessen,撤回接近投票。

标签: powershell powershell-3.0


【解决方案1】:

由于dism.exe 是一个外部程序,您需要检查$LASTEXITCODE 自动变量:

dism /online /andsoon
if($LASTEXITCODE -ne 0)
{
    # Add your capability
}

【讨论】:

    猜你喜欢
    • 2011-06-09
    • 1970-01-01
    • 2022-12-09
    • 2014-06-08
    • 2011-05-21
    • 1970-01-01
    • 2016-01-12
    • 1970-01-01
    • 2013-02-18
    相关资源
    最近更新 更多