如何运行脚本并捕获其返回值

时间:2016-11-09 09:02:19

标签: powershell

我有这个简单的函数,它根据传递的参数返回一些值:

function GetParam($fileName)
{
    if($fileName.ToLower().Contains("yes"))
    {
        return 1
    }
    elseif($fileName.ToLower().Contains("no"))
    {
        return 2
    }
    else
    {
        return -1
    }     
}

我想从另一个脚本调用此脚本并获取其返回值,以便决定下一步该做什么。 我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

您必须 dot source 定义GetParam函数的脚本,以将其公开给其他脚本:

<强> getparam.ps1

function GetParam($fileName)
{
    if($fileName.ToLower().Contains("yes"))
    {
        return 1
    }
    elseif($fileName.ToLower().Contains("no"))
    {
        return 2
    }
    else
    {
        return -1
    }     
}

<强> other.ps1

. .\getparam.ps1 # load the function into the current scope.
$returnValue = GetParam -fileName "yourFilename"

注意:考虑使用approved Verbs并将您的函数名称更改为Get-Param。您也可以省略return关键字。