如何從命令提示字元將布林參數傳遞給 PowerShell 腳本

  1. 使用 Boolean 參數從命令提示符將 Boolean 值傳遞給 PowerShell 腳本
  2. 使用字符串值從命令提示符將 Boolean 值傳遞給 PowerShell 腳本
  3. 結論
如何從命令提示字元將布林參數傳遞給 PowerShell 腳本

PowerShell 腳本是一系列結構化的命令,存儲在具有 .ps1 擴展名的文本文件中。當執行時,PowerShell 逐一處理這些命令,使得用戶可以自動化各種任務。

為了使腳本更具多功能性和適應性,您可以在 PowerShell 代碼中使用 param 語句定義參數。當您在腳本中定義參數時,您為執行腳本時傳遞數據創建了一個進入點。

讓我們用一個簡單的例子來說明。考慮一個名為 YourScript.ps1 的 PowerShell 腳本,它接受用戶輸入的值。

param (
    $a, $b
)

if ($a -lt $b) {
    Write-Host "$a is less than $b"
}
else {
    Write-Host "$a is not less than $b"
}

要執行此腳本並從命令提示符傳遞值,您可以使用以下命令:

powershell.exe -NoProfile -Command .\YourScript.ps1 -a 4 -b 5

運行後,您將收到以下輸出:

4 is less than 5

這展示了如何高效地將值傳遞給 PowerShell 腳本,為用戶提供自定義腳本行為的能力。

現在,讓我們深入探討從命令提示符傳遞 Boolean 值給 PowerShell 腳本的主題。Boolean 值可以表示 TRUEFALSE,將其融入腳本中對於決策和條件執行非常有價值。

使用 Boolean 參數從命令提示符將 Boolean 值傳遞給 PowerShell 腳本

要使用參數從命令提示符將 Boolean 值傳遞給 PowerShell 腳本,首先聲明一個接受 Boolean 值的參數。您可以使用 [bool] 數據類型來指定該參數應接受 Boolean 值。

例如:

param (
    [bool]$MyBooleanParameter
)

現在您已設置了參數,可以在腳本中使用 $MyBooleanParameter 變量根據 Boolean 值作出決策。

例如,考慮以下示例:

if ($MyBooleanParameter) {
    Write-Host "The Boolean parameter is true."
}
else {
    Write-Host "The Boolean parameter is false."
}

現在您已在 PowerShell 腳本中定義了參數,您可以在執行腳本時從命令提示符向其傳遞 Boolean 值。

要做到這一點,請遵循以下步驟:

  • 打開命令提示符

    Win+R,輸入 cmd,然後按 Enter 打開命令提示符。

  • 瀏覽到腳本目錄

    使用 cd 命令進入存放 PowerShell 腳本的目錄。例如:

    cd C:\Path\To\Your\Script
    
  • 執行腳本

    要執行您的 PowerShell 腳本並向參數傳遞一個 Boolean 值,請使用 PowerShell.exe 命令。提供腳本文件的名稱,並使用 -MyBooleanParameter 參數傳遞 Boolean 值。

    例如:

    PowerShell.exe -File "YourScript.ps1" -MyBooleanParameter $true
    

    在上述示例中,我們將值 $true 傳遞給 -MyBooleanParameter 參數。

    要向參數傳遞 false Boolean 值,也需提供腳本文件的名稱並使用 -MyBooleanParameter 參數與 $false 值。

    例如:

    PowerShell.exe -File "YourScript.ps1" -MyBooleanParameter $false
    

    在上述命令中,我們將值 $false 傳遞給 -MyBooleanParameter 參數,這意味著您腳本中的 Boolean 參數在執行時將接收 false 值。然後,您的腳本將根據此 false 值相應行動。

使用 switch 參數從命令提示符將 Boolean 值傳遞給 PowerShell 腳本

PowerShell 中的 switch 參數是一種特殊類型的參數,用於指定 Boolean 選項。當參數存在(true)或缺失(false)時使用它們。

換句話說,您不需要為 switch 參數提供值;它的存在僅表示 true 值,而缺失則表示 false 值。

要使用 switch 參數從命令提示符將 Boolean 值傳遞給 PowerShell 腳本,首先聲明一個 switch 參數以接受 Boolean 值。您可以使用 [switch] 數據類型來指定該參數為 switch。

以下是如何定義 switch 參數的示例:

param (
    [switch]$MySwitchParameter
)

然後,一旦您定義了 switch 參數,您可以在腳本中利用 $MySwitchParameter 變量根據開關是否存在(true)或缺失(false)來控制其行為。

例如,您可以使用 if 語句檢查 switch 參數的狀態:

if ($MySwitchParameter) {
    Write-Host "The switch is present, so the Boolean value is true."
}
else {
    Write-Host "The switch is absent, so the Boolean value is false."
}

在您的腳本中定義了 switch 參數後,您可以輕鬆地從命令提示符將 Boolean 值傳遞給它,運行腳本時。

以下是步驟:

  • 打開命令提示符

    通過按 Win+R、輸入 cmd 並按 Enter 來打開命令提示符。

  • 瀏覽到腳本目錄

    使用 cd 命令進入存放 PowerShell 腳本的目錄。例如:

    cd C:\Path\To\Your\Script
    
  • 執行腳本

    要執行您的 PowerShell 腳本並通過 switch 參數傳遞 Boolean 值,請使用 PowerShell.exe 命令。提供腳本文件的名稱,並簡單地包含 -MySwitchParameter 開關以啟用它。

    例如:

    PowerShell.exe -File "YourScript.ps1" -MySwitchParameter
    

    在此示例中,switch 是存在的,表示 true Boolean 值。

    要傳遞 false Boolean 值,只需在運行腳本時不包含 switch 參數。這裡有一個示例:

    PowerShell.exe -File "YourScript.ps1"
    

    通過在執行腳本時不包含 switch 參數,您實際上是傳遞了一個 false Boolean 值,您的腳本可以根據這一缺失採取適當的行動。

從命令提示符通過 switch 參數向 PowerShell 腳本傳遞 Boolean 值是一種高效且簡單的方法來控制腳本的行為。switch 參數非常適合需要在腳本中啟用或禁用特定功能或行為的場景,而無需其他參數或值。

使用字符串值從命令提示符將 Boolean 值傳遞給 PowerShell 腳本

在將 Boolean 值從命令提示符傳遞給 PowerShell 腳本時,另一種方法是使用字符串值。此方法允許更大的靈活性,因為它可以讓您將 truefalse 這些值作為字符串傳遞並在腳本中轉換成 Boolean 值。

要從命令提示符使用字符串值將 Boolean 值傳遞給 PowerShell 腳本,聲明一個接受表示 Boolean 狀態的字符串值的參數。您可以使用 [string] 數據類型為此參數。

例如:


param (
    [string]$MyBooleanString
)

在您的腳本中,將字符串值轉換為 Boolean 值。PowerShell 提供了進行此轉換的方法。

例如:

$MyBoolean = [System.Management.Automation.LanguagePrimitives]::ConvertTo([bool], $MyBooleanString)

現在您可以在腳本中使用 $MyBoolean 變量根據需要處理 Boolean 值。例如:

if ($MyBoolean) {
    Write-Host "The Boolean value is true."
}
else {
    Write-Host "The Boolean value is false."
}

在您的腳本中定義了字符串值的參數後,您可以在執行腳本時從命令提示符傳遞 Boolean 值。以下是如何操作:

  • 打開命令提示符

    通過按 Win+R、輸入 cmd 並按 Enter 來打開命令提示符。

  • 瀏覽到腳本目錄

    使用 cd 命令進入存放 PowerShell 腳本的目錄。例如:

    cd C:\Path\To\Your\Script
    
  • 執行腳本

    要運行您的 PowerShell 腳本並傳遞表示 Boolean 狀態的字符串值,請使用 PowerShell.exe 命令。提供腳本文件的名稱,並包含 -MyBooleanString 參數與字符串值,例如 "true""false"

    PowerShell.exe -File "YourScript.ps1" -MyBooleanString "true"
    

結論

使用字符串值從命令提示符將 Boolean 值傳遞給 PowerShell 腳本是一種靈活有效的方法,特別是在處理用戶輸入或可能包含 Boolean 狀態字符串表示的配置文件時。通過在腳本中將這些字符串值轉換為 Boolean,您可以無縫地使用它們,並創建更具可適應性和用戶友好的腳本。

了解如何將字符串值轉換為 Boolean 並在 PowerShell 腳本中使用它們是腳本開發者的重要技能,因為這使得在各種場景中更具多樣性和易用性。

Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
作者: Rohan Timalsina
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 Boolean