向 PowerShell 指令碼傳遞一個引數
Rohan Timalsina
2023年1月30日
2022年5月16日
PowerShell 指令碼是儲存在 .ps1
擴充套件檔案中的命令集合。
PowerShell 按順序執行這些命令。本教程將介紹將引數傳遞給 PowerShell 指令碼的不同方法。
使用 param
將引數傳遞給 PowerShell 指令碼
我們可以使用 param
語句定義引數。它還允許我們使用預設值。
我們建立了一個 myscript.ps1
指令碼檔案,其中包含:
param($name, $address = "USA", $age)
Write-Host "Name: $name"
Write-Host "Address: $address"
Write-Host "Age: $age"
這裡,變數 $address
有一個預設值。如果使用者不提供任何值,將使用預設值。
此外,我們可以指定變數來設定值。
./myscript.ps1 -name "Rohan" -age "20"
輸出:
Name: Rohan
Address: USA
Age: 20
使用 args
將引數傳遞給 PowerShell 指令碼
將引數傳遞給 PowerShell 指令碼的另一種方法是通過 $args[]
陣列。我們不能將引數名稱放在此方法中。
我們在 myscript2.ps1
檔案中編寫了一個新指令碼。
Write-Host Name: $args[0]
Write-Host Address: $args[1]
Write-Host Age: $args[2]
我們對輸入沒有太多控制,因為它們在 args[]
陣列中按順序使用。例如,第一個值儲存在 [0]
,第二個儲存在 [1]
,第三個儲存在 [2]
,依此類推。
./myscript2.ps1 "Rohan" "USA" "20"
輸出:
Name: Rohan
Address: USA
Age: 20
Author: Rohan Timalsina