Powershell-将函数结果传递到脚本的其他部分

问题描述 投票:0回答:1

Powershell的新手。

我有一个具有DO UNTIL循环的Powershell脚本。在该循环中,我调用了2个函数。根据功能的结果确定是否可以继续执行脚本。我的问题似乎是将函数的结果传递回DO UNTIL循环中,以使循环继续进行。

这里是一般想法:

Function MyFunction1
{
(Stuff happens here)
    IF($Good -eq "Yes"){
            Return 1
    }Else{
            Return 0
    }
}


Function MyFunction2
{
(Other stuff happens here)
    IF($ReallyGood -eq "Yes"){
            Return 1
    }Else{
            Return 0
    }
}

DO{
    $a = MyFunction1
    IF($a -eq 1){
      $b = MyFunction2
            IF($b -eq 1){
                        $endscript = "Yes"
                        }ELSE{
                        $endscript = "No"
                        }
    }Else{
    $endscript = "No"
    }   
}UNTIL(
$endscript -eq "Yes")
powershell variables
1个回答
1
投票

使用此问题:How to return several items from a Powershell function

我在函数内创建变量并将属性设置为数字。然后为该变量分配一个数字。最后,在IF语句中,我可以引用该变量属性。

Function MyFunction1
{
(Stuff happens here)

    $fun1_value = "" | Select-Object -Property number

    IF($Good -eq "Yes"){
            $fun1_value = 1
            Return $fun1_value
    }Else{
            $fun1_value = 0
            Return $fun1_value
    }
}


Function MyFunction2
{
(Other stuff happens here)

    $fun2_value = "" | Select-Object -Property number

    IF($ReallyGood -eq "Yes"){
            $fun2_value = 1
            Return $fun2_value
    }Else{
            $fun2_value = 0
            Return $fun2_value
    }
}

DO{
    $fun1 = MyFunction1
    IF($fun1.number -eq 1){
      $fun2 = MyFunction2
            IF($fun2.number -eq 1){
                        $endscript = "Yes"
                        }ELSE{
                        $endscript = "No"
                        }
    }Else{
    $endscript = "No"
    }   
}UNTIL(
$endscript -eq "Yes") 
© www.soinside.com 2019 - 2024. All rights reserved.