switch - powershell script define parameters
¿Cómo pasar un parámetro de switch a otro script de PowerShell? (2)
Tengo dos scripts de PowerShell, que tienen parámetros de cambio:
compile-tool1.ps1:
[CmdletBinding()]
param(
[switch]$VHDL2008
)
Write-Host "VHDL-2008 is enabled: $VHDL2008"
compile.ps1:
[CmdletBinding()]
param(
[switch]$VHDL2008
)
if (-not $VHDL2008)
{ compile-tool1.ps1 }
else
{ compile-tool1.ps1 -VHDL2008 }
¿Cómo puedo pasar un parámetro de conmutador a otro script de PowerShell, sin escribir en grande if..then..else
o case
?
No quiero convertir el parámetro $VHDL2008
de compile-tool1.ps1
al tipo bool
, porque ambos scripts son scripts front-end (utilizados por los usuarios). El último es un contenedor de alto nivel para múltiples scripts de compile-tool*.ps1
.
Puede especificar $true
o $false
en un conmutador utilizando la sintaxis de dos puntos:
compile-tool1.ps1 -VHDL2008:$true
compile-tool1.ps1 -VHDL2008:$false
Así que simplemente pasa el valor real:
compile-tool1.ps1 -VHDL2008:$VHDL2008
Tratar
compile-tool1.ps1 -VHDL2008:$VHDL2008.IsPresent