wordpress   发布时间:2022-04-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了获取传递给PowerShell中的函数的所有参数大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我有一个功能如下.它根据传递的参数生成一个字符串. function createSentenceAccordingly { Param([Parameter(mandatory = $falsE)] [String] $name, [Parameter(mandatory = $falsE)] [String] $address, [Parameter(mandatory
我有一个@L_944_2@如下.它根据传递的参数生成一个字符串.

function createSentenceAccordingly {
Param([Parameter(mandatory = $falsE)] [String] $name,[Parameter(mandatory = $falsE)] [String] $address,[Parameter(mandatory = $falsE)] [String] $zipcode,[Parameter(mandatory = $falsE)] [String] $city,[Parameter(mandatory = $falsE)] [String] $statE)

    $Stringrequired = "Hi,"

    if($Name){
        $Stringrequired += "$name,"
    }
    if($address){
        $Stringrequired += "You live at $address,"
    }
    if($zipcodE){
        $Stringrequired += "in the zipcode:$zipcode,"
    }
    if($Name){
        $Stringrequired += "in the city:$city,"
    }
    if($Name){
        $Stringrequired += "in the state: $state."
    }

    return $Stringrequired
}

所以,基本上函数会根据传递的参数返回一些东西.我想尽可能地避免if循环并立即访问所有参数.

我可以访问数组或散列映射中的所有参数吗?因为@R_404_10675@用命名参数,所以不能在这里使用$args.如果我可以一次访问所有参数(可能在$args或hashamp之类的数组中),我的计划是使用它来动态创建返回字符串.

在将来,函数的参数将增加很多,我不想继续写每个附加参数的循环.

提前致谢,:)

解决方法

$PSBoundParameters variable一个哈希表,它只包含显式传递给函数的参数.

您想要的更好的方法可能是使用parameter sets,以便您可以命名特定的参数组合(不要忘记在这些组中强制使用相应的参数).

然后你可以这样做:

switch ($PsCmdlet.ParameterSetName) {
    'NameOnly' {
        # Do stuff
    }
    'NameAndZip' {
        # Do stuff
    }
    # etc.
}

大佬总结

以上是大佬教程为你收集整理的获取传递给PowerShell中的函数的所有参数全部内容,希望文章能够帮你解决获取传递给PowerShell中的函数的所有参数所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。