由於@ConnorLSW在上面的答案中寫道,驗證是最大的好處之一。隨着Param
塊你可以使用Validate
屬性,如:
Function Foo
{
Param(
[Parameter(Mandatory=$true,Position=0)]
[ValidateSet("Tom","Dick","Jane")]
[String]
$Name
,
[ValidateRange(21,65)]
[Int]
$Age
,
[ValidateScript({Test-Path $_ -PathType 'Container'})]
[string]
$Path
)
Process
{
write-host "New-Foo"
}
}
你也可以定義不同的參數設置,如果你的函數應支持不同的參數組合。此外,如果您是Parameter
屬性的Mandatory
和Positional
屬性,則還會通過Get-Help
獲得「開箱即用」文檔。例如: -
get-help Foo -Detailed
NAME
Foo
SYNTAX
Foo [-Name] {Tom | Dick | Jane} [[-Age] <int>] [-Path <string>] [<CommonParameters>]
PARAMETERS
-Age <int>
-Name <string>
-Path <string>
<CommonParameters>
This cmdlet supports the common parameters: Verbose, Debug,
ErrorAction, ErrorVariable, WarningAction, WarningVariable,
OutBuffer, PipelineVariable, and OutVariable. For more information, see
about_CommonParameters (http://go.microsoft.com/fwlink/?LinkID=113216).
ALIASES
None
REMARKS
None
基礎上Age
參數你會認爲這是可選參數的出括號。所以關於描述,驗證和文檔。
希望有所幫助。
感謝您的信息。澄清了很多。將需要我的新腳本的第二塊。 – Jos