【发布时间】:2017-01-10 11:57:11
【问题描述】:
我有一个 Powershell 脚本,其中包含 2 个参数非常相似的函数。 是否可以将参数(计算机名、端口、其他变量)组合成某种集合?
在这个例子中,它只有 3 个参数,但实际上它是 11 个参数。 我正在考虑这样做,因为参数列表开始变得有点长。
function Function1
{
Param(
[Parameter()]
[String]$Filename,
[Parameter()]
[String]$Computername,
[Parameter()]
[String]$Port,
[Parameter()]
[String]$OtherVariable
)
Process
{
}
}
function Function2
{
Param(
[Parameter()]
[String]$Url,
[Parameter()]
[String]$Computername,
[Parameter()]
[String]$Port,
[Parameter()]
[String]$OtherVariable
)
Process
{
}
}
【问题讨论】:
-
它叫
parameter sets:Conditional powershell parameters -
我已经尝试过查看
parameter sets,但我认为它不能跨功能工作。你有一个例子吗?还是说我应该结合功能使用parameter sets? -
当然是后者。您可以创建一个超级函数,根据参数调用现有函数之一。
-
虽然我想有一个跨函数使用
parameter sets的选项(主要是因为一个函数名为Export-MyObjects而另一个函数名为Compile-MyObjects),但我相信您的建议是我会得到的最佳答案。你能留下答案吗?
标签: powershell