Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PowerShell函数传递和获取值_Powershell - Fatal编程技术网

使用PowerShell函数传递和获取值

使用PowerShell函数传递和获取值,powershell,Powershell,PowerShell脚本可从命令行运行 尝试在脚本中传递参数时,如果调用函数传递值,则不会出现任何值。我尝试在函数中使用作用域和参数传递程序的其余部分的值。脚本中的示例将非常有助于给出准确的答案。也就是说,下面是一个通用答案,它显示了PowerShell中包含函数和不包含函数的脚本 Function Sum { Param ([int]$a,[int]$b) return $a+$b } . .\utils.ps1;sign-script somescript.ps1 所以

PowerShell脚本可从命令行运行


尝试在脚本中传递参数时,如果调用函数传递值,则不会出现任何值。我尝试在函数中使用作用域和参数传递程序的其余部分的值。

脚本中的示例将非常有助于给出准确的答案。也就是说,下面是一个通用答案,它显示了PowerShell中包含函数和不包含函数的脚本

Function Sum {
    Param ([int]$a,[int]$b)

    return $a+$b
}
. .\utils.ps1;sign-script somescript.ps1
所以,当你在脚本中有了它,你就可以点源脚本。因此,您可以直接从cmdline调用该函数。比如说

Sum 4 5
将返回9

现在,如果没有函数,让我们假设sum.ps1具有以下代码:

Param ([int]$a,[int]$b)
$a+$b
您可以在控制台或任何地方调用,
\sum.ps1 4 5
,然后它再次返回9


根本不需要使用
param()
。您可以使用$args数组来检索参数。但是,将参数绑定到一个类型并使用
Param()

给它们一个名称是有意义的。您是想调用脚本中的特定函数吗?您可以通过.sourcing然后调用来实现这一点。这里我们调用utils.ps1中定义的函数符号脚本,将参数somescript.ps1传递给函数

. .\utils.ps1;sign-script somescript.ps1

请注意行开头的额外点

您能用您尝试过的代码示例更新您的问题吗?没有你的帮助,很难说你做错了什么。