首页 > 解决方案 > 不使用带有 Switch 语句的 Else-if 输入 powershell

问题描述

我需要有关 PowerShell 代码的帮助。我必须使用 PowerShell 更新几个程序,但在运行脚本时出现错误。

代码的输入是 1 和 0 用于 Switch 条件,其他输入是 foo、boo、Oracle 要更新,根据条件软件将被更新。

$param = Read-Host -Prompt "Enter the input 1 or 0"
[bool]$upg = $true
$sftp = Read-Host "Please Enter the softwre to update"
switch ($param)
{
    0{
        Write-Output "Today is monday"
    }
    1
    {
        $prm_prd = Read-Host -Prompt "Are you going for operation upgrade"
        if ($prm_prd -eq $upg)
        {
            Write-Output "System upgrade"

            if ($sftp -eq 'foo')
            {
                Write-Output "foo upgrade"
            }
            elseif ( $sftp -eq 'boo')
            {
                Write-output "boo upgrade"
            }
            elseif ( $sftp -eq 'Oracle')
            {
                Write-output "oracle upgrade"
            }
        }
    }
}

标签: if-statementswitch-statementpowershell-5.0

解决方案


你之前没有发布过这种形式吗?Elseif 不是 else-if。


推荐阅读