Altova FlowForce Server 2024 Advanced Edition

Ruta completa: /system/shell/commandline

 

Ejecutar un comando shell o un archivo por lotes.

 

para conseguir que los trabajos de FlowForce Server lean variables de entorno, deberán estar definidas en los scripts y estos scripts deberán ejecutarse con la función /system/shell/commandline. Tenga en cuenta que FlowForce Server ejecuta una shell no interactiva. Esto significa que no dispone de las características propias de shells interactivas (como la ejecución de .profile o .bashrc en Linux).

 

Si el código de salida del último comando shell no es 0, el resultado es el siguiente:

 

Si el parámetro Anular en caso de error es true (valor predeterminado), esta función anula la ejecución. En este caso puede controlar el error por medio de bloques protegidos (véase Control de errores).

Si el parámetro Anular en caso de error es false, la función devuelve el resultado del comando shell, incluido el resultado estándar, el error estándar y el código de salida.

 

Si el código de salida del último comando es (éxito), la función devuelve el resultado del último comando shell, como tipo genérico. Siga estas instrucciones para ocuparse del valor devuelto por esta función en otro paso o trabajo:

 

1. Ponga un nombre al resultado devuelto introduciendo un valor en el cuadro de texto Asignar el resultado de este paso a (por ejemplo, miResultado).

2. Cree un paso nuevo que ejecute la función compute o compute-string, dependiendo del tipo devuelto que necesite.

3. Introduzca como argumento de la función una expresión que obtenga la parte deseada del resultado genérico. Por ejemplo, introduzca la expresión stdout(miResultado) para obtener el resultado estándar del resultado como secuencia y stderr(miResultado) para obtener el la secuencia resultante del error estándar. Para obtener los mismos valores como cadena de texto utilice content(stdout(miResultado)) y content(stderr(miResultado)) respectivamente.

 

Recuerde que la función stdout (y el trabajo) fallarán si el comando shell no devuelve un resultado estándar. Asimismo, la función stderr fallará si no hay un error estándar.

 

Véase también Tipos de datos en los pasos y Funciones para resultados de los pasos.

 

Parámetros

Nombre

Tipo

Descripción

Comando

string

Comando shell que debe ejecutarse.

Anular en caso de error

boolean

Parámetro opcional. Este parámetro determina el resultado de un trabajo si ocurre un error. Si el parámetro de Anular en caso de error es true, la ejecución del trabajo se anula. Si el parámetro es false, FlowForce Server ignora los errores y sigue ejecutando el trabajo. El valor predeterminado es true.

Directorio de trabajo

string as directory

Indica el directorio de trabajo del trabajo (por ejemplo, c:\somedirectory). Si se usan rutas relativas estas se resuelven con respecto al directorio de trabajo.

 

Ejemplos

El trabajo siguiente ejecuta un archivo por lotes llamado DoTransform.bat. Si DoTransform.bat necesita un archivo XML como entrada, este archivo XML de entrada se debe copiar en el directorio de trabajo. En este ejemplo el directorio de trabajo es C:\codegen\xslt2.

fs_commandline_01

El trabajo siguiente llama a RaptorXML Server para que ejecute una transformación XSLT con parámetros. Se asume que la variable de entorno PATH contiene la ruta al ejecutable de RaptorXML, por ejemplo C:\Program Files (x86)\Altova\RaptorXMLServer2024\bin. Para más información acerca de RaptorXML Server, consulte https://www.altova.com/es/raptorxml.

RaptorCMDline2

Para ver un ejemplo paso por paso de gestión del resultado devuelto por la línea de comandos consulte el apartado Comprobar si una ruta existe.

© 2017-2023 Altova GmbH