por para off lotes lista ejemplos ejecutar copiar comandos codigo batch bat automaticamente archivos archivo abrir batch-file

batch-file - para - ejecutar archivo bat automaticamente



Haga que el archivo.bat continĂșe despuĂ©s de ejecutar un comando (4)

Necesito resolver este problema aparentemente muy simple en el archivo .bat de Windows. He estado usando Linux durante los últimos 10 años a tiempo completo, por lo que estoy en un territorio bastante desconocido en lo que respecta a los guiones .bat.

Tenemos algunas pruebas de unidades que necesitan ejecutarse desde este archivo .bat, y se debe generar una compilación después de que se hayan ejecutado las pruebas.

El archivo bat en sí es muy simple, estaba pensando en encadenar los comandos:

cls echo "Running test suite - CRMSync" echo echo REM from command: --static-backup phpunit --bootstrap test/bootstrap_test.php --verbose --log-junit echo "Running phploc for CRMSync" phploc --count-tests --verbose > C:/CRMsync/testResults/phploc/index.html echo "Executing phing" phing

Ahora, lo suficientemente simple, excepto que nada se ejecuta pasado el comando phpunit. ¿Cómo trato con esto? Las pruebas de la unidad funcionan bien, pero sospecho que incluso podría estar en la unidad de prueba lib que el proceso se mata. ¿Hay alguna manera de bifurcar el proceso de alguna manera u obtener los otros comandos a continuación para ejecutar?

Gracias, señores, como siempre, cualquier ayuda muy apreciada.


¿Es phpunit en sí mismo un archivo por lotes (no hago mucho PHP, entonces no estoy familiarizado con la herramienta)? Si es así, intente usar:

call phpunit --bootstrap test/bootstrap_test.php --verbose --log-junit


Prueba start /WAIT phpunit ... para start /WAIT phpunit ... proceso y aguardarlo o simplemente start phpunit ... para bifurcar y continuar. La ayuda está aquí: start /?


Similar al post ujifgc, uso "start / b ..." en estas situaciones. Si encapsula la llamada a phpunit en otro archivo por lotes, puede usar "call".


Tuve el mismo problema para un script de desarrollo que hice. Y probé todas las soluciones dadas sin tener éxito. Al final, lo hice con cmd / C.

Desde los documentos de Windows:

Ejecutar comando y luego terminar

Entonces, por ejemplo, puedes usarlo de la siguiente manera:

cls echo "Running test suite - CRMSync" echo echo REM from command: --static-backup cmd /C phpunit --bootstrap test/bootstrap_test.php --verbose --log-junit echo "Running phploc for CRMSync" cmd /C phploc --count-tests --verbose > C:/CRMsync/testResults/phploc/index.html echo "Executing phing" cmd /C phing

Espero que encuentres esto útil.