调用 PowerShell 脚本传入参数180


在 PowerShell 脚本中使用参数可提高脚本的可重用性和灵活性。本文将指导您如何调用 PowerShell 脚本并向其传入参数。

传递位置参数

位置参数按其在脚本参数列表中的位置传递给脚本。要按位置传递参数,只需将它们指定给脚本调用命令,如下所示:```
powershell -File MyScript.ps1 -Argument1 -Argument2
```

其中,-Argument1 和 -Argument2 是要传递给脚本的位置参数。

传递命名参数

命名参数使用 - 前缀后跟参数名称来传递。命名参数的顺序无关紧要。要按名称传递参数,请使用以下语法:```
powershell -File MyScript.ps1 -ArgumentName1 value1 -ArgumentName2 value2
```

其中,-ArgumentName1 和 -ArgumentName2 是脚本中的命名参数,value1 和 value2 是相应的值。

传递哈希表参数

哈希表参数允许您向脚本传递一组键值对。创建哈希表变量,然后使用 -Argument 参数将哈希表传递给脚本,如下所示:```
$args = @{
Argument1 = "value1"
Argument2 = "value2"
}
powershell -File MyScript.ps1 -Argument $args
```

哈希表键对应于脚本中的命名参数。

在脚本中访问参数

在脚本中,可以使用 $args 自动变量访问传入的参数。$args 是一个哈希表,其中键是按位置传递的参数名,而值是相应的值。对于按名称传递的参数,键是参数名称,值是相应的值。```
$argument1 = $args.Argument1
$argument2 = $args.Argument2
```

附加注意事项

以下是一些附加事项,需要注意:* 脚本参数可以是必须的或可选的。必需的参数必须通过参数列表或 [Parameter(Mandatory=$true)] 特性指定。
* 您可以使用 Get-Help 命令let 来查看特定脚本的参数。
* 如果不指定参数,脚本会提示您输入缺失的参数。
* 对于一些复杂的脚本,您可能需要在调用之前使用 Set-ExecutionPolicy 命令let 临时降低执行策略。

示例

以下是一个示例脚本,它使用位置参数和命名参数:```
param (
[Parameter(Position=0)]
[string]$InputFile,
[Parameter(Mandatory=$true)]
[int]$NumberOfLines
)
Get-Content $InputFile | Select-Object -First $NumberOfLines
```

要调用此脚本并传入参数,请使用以下命令:```
powershell -File MyScript.ps1 "" -NumberOfLines 10
```

这将读取 文件的前 10 行并显示它们。

调用 PowerShell 脚本并向其传入参数是提高脚本灵活性和可重用性的好方法。通过遵循本文中概述的步骤,您可以轻松传递位置参数、命名参数和哈希表参数。

2024-12-04


上一篇:无需 PowerShell 执行脚本

下一篇:cmd命令执行powershell脚本的详细指南