Tengo un archivo por lotes que llama a otro archivo por lotes que existe en el directorio PATH (básicamente llamando a un ejecutable con modificadores adicionales).
: bar.bat:
foo.bat file1.txt
foo.bat file2.txt
etc.
En foo.bat:
foo.exe -t -s %1
bar.bat ejecuta el primer comando pero sale inmediatamente (es decir, solo trabaja en file1.txt ).
¿Cómo puedo hacer que este archivo por lotes invoque el otro archivo por lotes más de una vez?
goto :eof
para regresar temprano.exit /b
generalmente solo es necesario si necesita el código de retorno.exit /b
ygoto: eof
. ¿Está bien agregar la salida del bate CALLed?call foo.bat > myfile
Además de la respuesta de @ splattne, úselo
exit /b
en elCALL
archivo por lotes ed si necesita regresar antes.fuente
Otra opción (para compatibilidad con DOS anterior a la versión 3.3 :-)) es llamar al proceso de comando con la opción secundaria (/ c) y el nombre del otro archivo por lotes para procesar. Eso también hará una llamada en lugar de una cadena, e incluso funcionará en máquinas verdaderamente antiguas (en caso de que alguien se encuentre con esto y le importe). :-)
fuente
@echo off
echo WbLegalReport.cmd
yo:
cd I: \ CFS \ Batch \ jarDir
echo% CD%
WbLegalReport.cmd
echo% CD%
echo WatchResrAddDeleted.cmd
echo% CD%
WatchRestrAddDeleted.cmd
echo% CD%
Lo que estoy tratando de hacer aquí es llamar a estos dos archivos por lotes en una secuencia.
Incapaz de hacerlo.
ayuda por favor.
Acutalmente está fallando en el script secundario, ya que el control no regresa al script principal
fuente
Sanket, no llame al archivo por lotes directamente. Use el comando "CALL". Ver el ejemplo de splattne .
fuente