886 Stimmen

Wie man mehrere BAT-Dateien innerhalb einer BAT-Datei ausführt

Ich versuche, meine commit-build.bat um andere .BAT-Dateien als Teil unseres Build-Prozesses auszuführen.

Inhalt der commit-build.bat :

"msbuild.bat"
"unit-tests.bat"
"deploy.bat"

Das scheint einfach zu sein, aber commit-build.bat führt nur den ersten Eintrag in der Liste aus ( msbuild.bat ).

Ich habe jede der Dateien einzeln ausgeführt, ohne dass es Probleme gab.

4 Stimmen

@sean - Sie müssen nicht das komplette Cygwin-Paket installieren, um die Kommandozeilenprogramme zum Laufen zu bringen. Nehmen Sie einfach alle Cygwin-Dlls aus dem Paket und legen Sie sie in ein Verzeichnis mit einem Pfad, legen Sie alle Ihre Tools in ein anderes Verzeichnis mit einem Pfad, und Sie sind bereit zu gehen.

0 Stimmen

Wenn man davon ausgeht, dass es sich bei jeder dieser Dateien nur um eine Stapelverarbeitung handelt, warum werden sie nicht einfach in eine große Datei eingefügt und die Timeout-Funktion verwendet, um jedes Mal zu starten.

7voto

McOussKing Punkte 113
Start msbuild.bat
Start unit-tests.bat
Start deploy.bat

Wenn das nicht funktioniert, ersetzen Sie start con call oder versuchen Sie dies:

Start msbuild.bat
Goto :1
:1
Start unit-tests.bat
Goto :2
:2
Start deploy.bat

6voto

Ihr Skript sollte so aussehen:

start "msbuild.bat"
start "unit-tests.bat"
start "deploy.bat"

6voto

CMS_95 Punkte 337

Wenn Sie mehrere Stapeldateien auf einmal öffnen wollen, können Sie den Befehl call verwenden. Allerdings schließt der Aufrufbefehl die aktuelle Batchdatei und wechselt zu einer anderen. Wenn Sie viele Dateien auf einmal öffnen wollen, können Sie dies versuchen:

@echo off
start cmd "call ex1.bat&ex2.bat&ex3.bat"

Und so weiter oder Wiederholungsstart cmd " call ..." für beliebig viele Dateien. Dies funktioniert für Windows 7 Ich bin mir aber bei anderen Systemen nicht sicher.

6voto

Dave Archer Punkte 3017

Wenn Sie sich Ihre Dateinamen ansehen, haben Sie in Erwägung gezogen, ein Build-Tool wie NAnt oder Ant (die Java-Version). Damit haben Sie viel mehr Kontrolle als mit Bat-Dateien.

3voto

PryroTech Punkte 496

Verwenden Sie einfach die call Befehl! Hier ist ein Beispiel:

call msbuild.bat
call unit-tests.bat
call deploy.bat

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X