Mam plik wsadowy, który wywołuje inny plik wsadowy, który istnieje w katalogu PATH (w zasadzie wywołuje plik wykonywalny z dodatkowymi przełącznikami).
: bar.bat:
foo.bat file1.txt
foo.bat file2.txt
etc.
W foo.bat:
foo.exe -t -s %1
bar.bat wykonuje pierwsze polecenie, ale kończy się natychmiast (tzn. działa tylko na pliku file1.txt ).
Jak mogę ustawić ten plik wsadowy, aby wywoływał inny plik wsadowy więcej niż jeden raz?
goto :eof
aby wrócić wcześniej.exit /b
jest zwykle potrzebny tylko wtedy, gdy potrzebujesz kodu powrotu.exit /b
igoto: eof
. Czy można dodawać wyjście nietoperza CALLed?call foo.bat > myfile
Oprócz odpowiedzi @ splattne, użyj
exit /b
wCALL
pliku wsadowym ed, jeśli chcesz wrócić wcześniej.źródło
Inną opcją (dla zgodności z DOS przed wersją 3.3 :-)) jest wywołanie procesu polecenia z opcją potomną (/ c) i nazwą innego pliku wsadowego do przetworzenia. To również wykona połączenie zamiast łańcucha, a nawet zadziała na naprawdę pradawnych maszynach (na wypadek, gdyby ktoś natknął się na to i dba o to). :-)
źródło
@echo wyłączone
echo WbLegalReport.cmd
ja:
cd I: \ CFS \ Batch \ jarDir
echo% CD%
WbLegalReport.cmd
echo% CD%
echo WatchResrAddDeleted.cmd
echo% CD%
WatchRestrAddDeleted.cmd
echo% CD%
Próbuję tutaj wywołać te dwa pliki wsadowe w sekwencji.
Nie można tego zrobić.
prosimy o pomoc.
W rzeczywistości nie działa w skrypcie potomnym, ponieważ formant nie wraca do skryptu głównego
źródło
Sanket, nie wywołuj bezpośrednio pliku wsadowego. Użyj polecenia „CALL”. Zobacz przykład splattne .
źródło