true switch script receive parameter mandatory define powershell parameter-passing

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