向 PowerShell 指令碼傳遞一個引數

Rohan Timalsina 2023年1月30日 2022年5月16日
  1. 使用 param 將引數傳遞給 PowerShell 指令碼
  2. 使用 args 將引數傳遞給 PowerShell 指令碼
向 PowerShell 指令碼傳遞一個引數

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
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

相關文章 - PowerShell Script