PowerShell传递变量

PowerShell传递变量,powershell,Powershell,我正在尝试调用powershell中的函数,但将变量传递给它,这样我就不需要使用不同的值重复funxtion X多次。我希望这样,当我调用函数时,我只需键入: Foo(Red,12,1.8) 以及通用函数foo,如下所示: function Foo(Colour, Age, Height){ <# Function does something with data here #> } 功能Foo(颜色、年龄、身高){ } 是否可以使用powershell进行此操作?

我正在尝试调用powershell中的函数,但将变量传递给它,这样我就不需要使用不同的值重复funxtion X多次。我希望这样,当我调用函数时,我只需键入:

Foo(Red,12,1.8)
以及通用函数foo,如下所示:

function Foo(Colour, Age, Height){
      <# Function does something with data here #>
}
功能Foo(颜色、年龄、身高){
}

是否可以使用powershell进行此操作?如果可以,是否会在函数完成后保存对这些变量所做的任何更改?

是请尝试默认值:

function Foo($Colour='Red',$Age=12,$Height=1.8){
      <# Function does something with data here #>
}
函数Foo($color='Red',$Age=12,$Height=1.8){
}

是尝试默认值:

function Foo($Colour='Red',$Age=12,$Height=1.8){
      <# Function does something with data here #>
}
函数Foo($color='Red',$Age=12,$Height=1.8){
}

是,您可以在函数中使用参数

默认情况下,参数仅在函数范围内更改,但如果愿意,可以选择返回与结果相同的参数

示例(使用飞溅)-


是的,您可以在函数中使用参数

默认情况下,参数仅在函数范围内更改,但如果愿意,可以选择返回与结果相同的参数

示例(使用飞溅)-


调用语法应该是
Foo-Red 12 1.8
Foo-color-Red-Age 12-Height 1.8
,但如果不是这样,PowerShell具有参数化函数。不过,默认情况下,对函数内声明参数的更改不会反映在调用范围中。你能描述一下你的用例吗?为什么您希望您需要多次调用
Foo
?谢谢,对于用例,我刚刚意识到这整个过程可能不起作用,因为我每次都需要传递不同的全局变量并更改这些精确的全局变量。您需要将参数作为引用传递给函数,并将函数设置为接受引用。请参阅:获取有关\u ref的帮助。调用语法将是
Foo Red 12 1.8
Foo-color Red-Age 12-Height 1.8
,但如果不是这样,则PowerShell具有参数化函数。不过,默认情况下,对函数内声明参数的更改不会反映在调用范围中。你能描述一下你的用例吗?为什么您希望您需要多次调用
Foo
?谢谢,对于用例,我刚刚意识到这整个过程可能不起作用,因为我每次都需要传递不同的全局变量并更改这些精确的全局变量。您需要将参数作为引用传递给函数,并将函数设置为接受引用。请参阅:获取关于_ref的帮助。谢谢,我已经意识到我现在需要能够传递3组全局变量,每个都具有相同的功能,但用于3个独立的系统(例如,Age1、Age2、Age3),让它使用并更改这些变量,然后再次返回它们…我觉得这个答案最接近,那么,我将如何实现上述目标?谢谢,您可以将我的示例用于更大的哈希表或哈希表数组。其他选项包括从函数中访问全局变量或构建类。谢谢,我意识到我现在需要能够传递3组全局变量,每个全局变量具有相同的函数,但用于3个独立的系统(例如,Age1、Age2、Age3),让it使用并更改这些变量,然后再次返回它们…我觉得这个答案最接近,那么我如何实现上述目标?谢谢,您可以将我的示例用于更大的哈希表或哈希表数组。其他选项包括从函数访问全局变量,或构建类。