HOWTO · PowerShell

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

本教程將教您如何從命令提示符將布林值傳遞給 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 值可以表示 TRUE 或 FALSE,將其融入腳本中對於決策和條件執行非常有價值。

使用 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 腳本時,另一種方法是使用字符串值。此方法允許更大的靈活性,因為它可以讓您將 true 或 false 這些值作為字符串傳遞並在腳本中轉換成 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 腳本中使用它們是腳本開發者的重要技能,因為這使得在各種場景中更具多樣性和易用性。