PowerShell介绍 第十三回 定义参数

本文介绍了如何在PowerShell中定义参数,包括必须命名参数、位置参数、ParameterSetName、ValueFromPipeline系列、HelpMessage、Alias及各种验证属性,帮助理解如何接受和处理脚本输入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

经常看到一些脚本可以接受某种形式的输入所, 输入的可能是一个计算机名称、 文件路径等等。曾经我会觉得很神奇,但是现在我已经知道怎么去定义一个参数了。下面我们就来一起学习学习吧。

其实,也挺简单的,用到的就是一下句子:

Param( [string]$computerName, [string]$filePath)

可以定义多个接受输入的参数,中间使用逗号隔开,前面可以加[string]等限定输入的类型。

此外,它还可以定义更多的属性,例如:

Param(
            [parameter(Mandatory=$true,
            ValueFromPipeline=$true)]
            [String[]]
            $ComputerName
          ) 
[parameter(Mandatory=$true意思是它是必需的;ValueFromPipeline=$true)意思是它接受管道输入; [String[]意思是它接受字符串数组输入。
parameter的属性有许多种,下面一一列举说明:

1. 必须命名参数

[parameter(Mandatory=$true)]
必需实际参数表示在函数运行时形式参数是必需的。如果未指定此实际参数,则形式参数是可选的。

2. 位置命名参数

[parameter(Position=0)]
位置实际参数指定形式参数的位置。如果未指定此实际参数,则在设置形式参数时必须明确指定该形式参数的名称或别名。

3. ParameterSetName 命名参数

ParameterSetName 实际参数指定形式参数所属的形式参数集。如果未指定参数集,则参数属于函数定义的所有参数集。此行为意味着每个参数集必须有一个不属于任何其他参数集的唯一参数。以下示例显示了属于两个不同参数集的两个参数的参数声明。
        Param
          (
            [parameter(Mandatory=$true,
                      ParameterSetName="Computer")] [String[]]
            $ComputerName
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值