2011-01-22 15 views
6

En mi script principal, primero llamaré a una función init para iniciar muchas variables que esperaba usar en el script. Una forma es usar variables cuyo nombre sea como $script:var1 que son variables de nivel de script. Pero eso es feo y me gustaría usar el nombre de variable normal, por lo que necesito un mecanismo para obtener una función como originar un archivo.PowerShell: ¿Cómo obtener una fuente como fuente de un archivo?

Al originar un archivo, todas las variables en ese archivo están disponibles en el script de llamada.

Respuesta

4

utilizan la misma sintaxis que utiliza punto-operador, al igual que para los archivos de abastecimiento:

. My-Function 
1

También puede hacerlo de una ScriptBlock y punto-fuente, pero las reglas son ligeramente diferentes. Debe tener un espacio después del período para dot-source una función, y no lo hace con un scriptblock.

Ambos producirá 42

$a=0 
function init {$a=42} 
. init 
$a 

$a=0 
$init={$a=42} 
.$init 
$a 
Cuestiones relacionadas