none
Sigue ejecutándose el bat y no espera a que termine de ejecutarse mi exe RRS feed

  • Pregunta

  • Buenos días.

    Estoy haciendo un bat, tengo un ejecutable que se llama: ProcesadorFichero.exe, este es su contenido

    start /b /wait %~d0%~p0ProcesadorFicheros.exe %~d0%~p0 %newest%
    set respuestaDeEjecutable=%ERRORLEVEL%
    echo Valor devuelto: %respuestaDeEjecutable%
    
    if not "%respuestaDeEjecutable%"=="0" goto :error_ejecutable
    echo Finalizado procesamiento de fichero.


    Necesito capturar el valor que devuelve mi ejecutable una vez este termine de ejecutarse, ¿está es la forma de hacerlo?

    Por lo que he visto no se espera a que termine mi ejecutable y recoge el -1 y entonces no me muestra el 

    Finalizado procesamiento de fichero.

    Sino que se va al goto: error_ejecutable

    Hay algún modo de que espere a que se termine de ejecutar y de recoger el valor devuelto una vez se ha ejecutado, ¿cómo es?

    martes, 25 de octubre de 2016 12:25

Todas las respuestas

  • ¿Por qué no quitas el "start", que precisamente sirve para lanzar un ejecutable y seguir adelante sin esperar a que termine? Si llamas directamente al .exe desde tu .bat, de forma predeterminada espera a que termine, a condición de que no antepongas el "start".

    martes, 25 de octubre de 2016 18:02
  • Si lo pongo así

    %~d0%~p0ProcesadorFicheros.exe %~d0%~p0 %newest%
    set respuestaDeEjecutable=%ERRORLEVEL%
    echo Valor devuelto: %respuestaDeEjecutable%
    
    if not "%respuestaDeEjecutable%"=="0" goto :error_ejecutable
    echo Finalizado procesamiento de fichero.

    Sigue dándome el mismo fallo.

    Ya que si que se ejecuta perfectamente el ejecutable debido a que convierte los datos y el archivo.

    Sin embargo, se obtiene de este -1 cuando debería devolver 5, cuando lo realiza correctamente y eso quiere decir que se ejecuta:

    set respuestaDeEjecutable=%ERRORLEVEL%

    Antes de que haya terminado de ejecutarse el cmd.

    Alguien me puede ayudar?

    miércoles, 2 de noviembre de 2016 15:24