解释一下 PowerShell 函数。

powershellmicrosoft technologiessoftware & coding更新于 2026/1/8 7:22:17

PowerShell 中的函数是为了减少重复代码的冗余,也就是将重复的代码绑定到一个函数中,并在必要时调用该函数,这样就无需多次编写代码。

示例

假设您想一次性对两个值 5 和 4 执行算术运算(乘、加、除和减),因此您需要为这两个值编写不同的运算,或者将值赋给名为 $val1 和 $val2 的变量,并对它们执行各种运算,如下例所示。

$val1 = 5
$val2 = 4

$val1 * $val2
$val1 + $val2
$val1 / $val2
$val1 - $val2

现在,假设值再次发生变化,比如 20 和 10,并更改变量的值,需要重新编写所有命令。PowerShell 函数在这里起着至关重要的作用。因此,重复的代码可以写在函数内部。

在开始我们的第一个例子之前,我们先来看一下语法。

function FunctionName(Parameter1, Parameter2,.....,ParameterN) {
   // 操作命令
   // 条件
}

在下面的例子中,我们给出了一个名为 ma​​th_operation 的函数,它执行两个变量的所有操作。代码如下。

示例

function math_Operation{
   $val1 = 10
   $val2 = 5
   Write-Host "Multiply : $($val1*$val2)"
   Write-Host "Addition : $($val1+$val2)"
   Write-Host "Subtraction : $($val1-$val2)"
   Write-Host "Divide : $($val1+$val2)"
}
math_Operation

要调用此函数,我们只需按示例所示通过其名称调用它即可。

输出

Multiply : 50
Addition : 15
Subtraction : 5
Divide : 15

编写函数执行脚本后,您也可以使用函数名称从 PowerShell 控制台调用该函数。此处,您需要在脚本执行后在终端中输入 ma​​th_operation。

现在,要多次使用该函数,您只需在函数中传递这两个值,即可执行它们之间的运算。为此,我们在函数内部使用 Param 块(指参数)并在其中声明变量。

示例

function math_Operation{
   param([int]$val1,[int]$val2)
   Write-Host "Multiply : $($val1*$val2)"
   Write-Host "Addition : $($val1+$val2)"
   Write-Host "Subtraction : $($val1-$val2)"
   Write-Host "Divide : $($val1+$val2)"
}

在 PowerShell 控制台中执行上述代码,在终端中,您会看到可以使用两个值($val1 和 $val2)作为参数。因此,每次计算结果时都需要传递两个值。

输出

PS E:\scripts\Powershell> math_Operation -val1 20 -val2 10
Multiply : 200
Addition : 30
Subtraction : 10
Divide : 30

您应该避免为该函数指定标准 cmdlet 名称。


相关文章