如何使用 PowerShell 函式引數驗證路徑?
要在 PowerShell 函式引數內驗證檔案或資料夾路徑,我們需要使用 ValidateScript 命令。通常,我們編寫如下指令碼來驗證此路徑。
function Validate-Path{
param(
[parameter(Mandatory)]
[String]$Path
)
if(Test-Path $Path) {Write-Output "Path is valid"}
else{Write-Output "Path is invalid"}
}輸出
PS C:\> Validate-Path -Path C:\Temp Path is valid
我們可透過 validatescript 引數在函式引數內新增類似的功能,這樣此指令碼將最初在引數檢查時引發錯誤。如下所示:
function Validate-Path{
param(
[parameter(Mandatory)]
[ValidateScript({
if(Test-Path $_){$true}
else{throw "Path $_ is not valid"}
})]
[String]$Path
)
Write-Output "Executing Script further"
}輸出
有效路徑
PS C:\> Validate-Path -Path C:\Temp Executing Script further
無效路徑
PS C:\> Validate-Path -Path C:\Temp223 Validate-Path : Cannot validate argument on parameter 'Path'. Path C:\Temp223 is not valid At line:1 char:21 + Validate-Path -Path C:\Temp223 + ~~~~~~~~~~ + CategoryInfo : InvalidData: (:) [Validate-Path], ParameterBindingValidationException + FullyQualifiedErrorId : ParameterArgumentValidationError,Validate-Path
在上例中,如果路徑有效,指令碼將繼續執行,而如果路徑無效,它將引發異常且指令碼將終止。
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
安卓
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP