Ich habe eine Batch-Datei, die eine andere Batch-Datei aufruft, die im PATH-Verzeichnis vorhanden ist (im Grunde eine ausführbare Datei mit zusätzlichen Schaltern aufrufen.)
: bar.bat:
foo.bat file1.txt
foo.bat file2.txt
etc.
In foo.bat:
foo.exe -t -s %1
bar.bat führt den ersten Befehl aus, wird jedoch sofort beendet (dh es wird nur an der Datei file1.txt gearbeitet ).
Wie kann ich diese Batchdatei so einrichten, dass sie die andere Batchdatei mehrmals aufruft?
goto :eof
früh zurückkehren.exit /b
wird normalerweise nur benötigt, wenn Sie den Rückkehrcode benötigen.exit /b
und versuchtgoto: eof
. Ist es in Ordnung, die Ausgabe des CALLed Bat anzufügen?call foo.bat > myfile
Verwenden Sie zusätzlich zur Antwort von @ splattne
exit /b
dieCALL
ed-Batch-Datei, wenn Sie vorzeitig zurückkehren müssen.quelle
Eine andere Möglichkeit (zur Kompatibilität mit DOS vor Version 3.3 :-)) besteht darin, den Befehl process mit der Option child (/ c) und dem Namen der anderen zu verarbeitenden Batch-Datei aufzurufen. Das führt auch zu einem Anruf anstelle einer Kette und funktioniert sogar auf wirklich alten Maschinen (nur für den Fall, dass jemand darüber läuft und sich darum kümmert). :-)
quelle
@echo aus
echo WbLegalReport.cmd
ich:
cd I: \ CFS \ Batch \ jarDir
echo% CD%
WbLegalReport.cmd
echo% CD%
echo WatchResrAddDeleted.cmd
echo% CD%
WatchRestrAddDeleted.cmd
echo% CD%
Ich versuche hier, diese beiden Batch-Dateien nacheinander aufzurufen.
Kann das nicht.
Hilfe bitte.
Tatsächlich schlägt das untergeordnete Skript fehl, da das Steuerelement nicht zum Hauptskript zurückkehrt
quelle
Sanket, rufe die Batch-Datei nicht direkt auf. Verwenden Sie den Befehl "CALL". Siehe splattnes Beispiel.
quelle