Pase parámetros booleanos a un script de PowerShell desde un símbolo del sistema

Rohan Timalsina 1 abril 2022
Pase parámetros booleanos a un script de PowerShell desde un símbolo del sistema

Un script de PowerShell es una colección de comandos guardados en un archivo de texto con la extensión .ps1. PowerShell ejecuta esos comandos en secuencia para realizar diferentes acciones. Puede definir parámetros en PowerShell usando la instrucción param.

Aquí hay un ejemplo de un script de PowerShell simple, myscript.ps1, que toma el valor como entrada del usuario.

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

Puede usar el siguiente comando para pasar valores y ejecutar el script anterior desde un símbolo del sistema.

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

Producción :

4 is less than 5

Como puede ver, pudimos pasar valores a un script de PowerShell desde un símbolo del sistema. Te enseñaremos a pasar valores booleanos a un script de PowerShell desde un símbolo del sistema. Un valor booleano puede ser TRUE o FALSE.

Use el parámetro booleano para pasar valores booleanos a un script de PowerShell desde un símbolo del sistema

Puede establecer el tipo de datos de su parámetro en [bool] para pasar valores booleanos a un script de PowerShell desde un símbolo del sistema.

param([int]$a, [bool]$b)
switch($b){
$true {"It is true."}    
$false {"It is false."}
}

Los parámetros booleanos solo aceptan valores y números booleanos, como $True, $False, 1 o 0.

powershell.exe -NoProfile -Command .\myscript.ps1 -a 1 -b $True

Producción :

It is true.

Pruebe el valor False:

powershell.exe -NoProfile -Command .\myscript.ps1 -a 5 -b 0

Producción :

It is false.

Use el parámetro switch para pasar valores booleanos a un script de PowerShell desde un símbolo del sistema

Un parámetro switch en PowerShell no toma un valor. Pero, es de naturaleza booleana y transmite un valor booleano true o false a través de su presencia o ausencia. Entonces, cuando un parámetro de interruptor está presente, tiene un valor real. Y cuando un parámetro de cambio está ausente, tiene un valor falso. Los parámetros Switch son fáciles de usar y se prefieren a los parámetros Booleanos, que tienen una sintaxis de PowerShell menos natural.

param ([int] $a, [switch] $b)
switch($b){
$true {"The value is $b."}    
$false {"The value is $b."}
}

Cuando el parámetro de interruptor está presente:

powershell.exe -NoProfile -Command .\myscript2.ps1 -a 5 -b 1

Producción :

The value is True.

Cuando el parámetro de cambio está ausente:

powershell.exe -NoProfile -Command .\myscript2.ps1 -a 5 

Producción :

The value is False.
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

Artículo relacionado - PowerShell Boolean