none
llamar un script desde otro? RRS feed

  • Pregunta

  • Hola, tengo una pequeña duda..

    como puedo llamar un script .ps1 desde otro script .ps1, no se si me explico.. quiero que desde un script haga su funcion y luego ejecute otro.

    merci de antemanos 

    martes, 8 de mayo de 2012 7:24

Respuestas

  • La sintaxis es:

    [& | .] <ruta\nombre>[.ps1] [parámetros]


    Si quieres que se ejecute en el propio espacio de memoria del script que lanza (es decir, que las variables del script invocado sigan existinedo una vez ha terminado su ejecución y sean accesibles desde el script que lo invoca) debes preceder al nombre y ruta del script por un punto; si quieres q2ue se ejecute en otro espacio de memoria (y que sus variables desaparezcan al terminar la ejecución) debes precederle de un ampersand.

    Es requerido que se ponga la ruta y el nombre del script, pudiendo ser la ruta absoluta o relativa. Esto quiere decir que si se quiere invocar el script, por ejemplo, P:\Scripts\estescript.ps1, son formas válidas de invocarlo:

    PS C:\> . P:\Scripts\estescript.ps1
    PS C:\> Set-Location P:
    PS P:\> & \Scripts\estescript
    PS P:\> Set-Location P:\Scripts
    PS P:\Scripts> & .\estescript.ps1

    Sin embargo, no se puede invocar sin ningun tipo de ruta ni cuando se encuentra PowerShell en el propio directorio del script; ninguna de las dos líneas siguientes ejecutaría el script:

    PS P:\Scripts> & estescript.ps1
    PS P:\Scripts> . estescript

    Si observas los ejemplos anteriores, verás que se puede pasar o no la extensión del script (.ps1)

    Esto es lo básico para lanzar el script; si se necesita pasarle parámetros, se ponen a continuación de lo anterior, como si de un Cmdlet se tratara.



    Un saludo

    Fernando Reyes [MS MVP]
    MCSA 2000/2003
    MCSE 2000/2003
    MCITP EnterpriseAdministrator
    Web: http://freyes.svetlian.com
    Blog: http://urpiano.wordpress.com
    RSS: http://urpiano.wordpress.com/feed/
    freyes.champú@champú.mvps.org
    (Aclárate la cabeza si quieres escribirme)



    martes, 8 de mayo de 2012 10:00
    Moderador