aus einer batch 2 batchs parallel aufrufen und warten bis diese beendet sind

  • #1
D

dresi83

Neues Mitglied
Themenersteller
Dabei seit
19.11.2008
Beiträge
3
Reaktionspunkte
0
Hallo Leute

Ich stehe vor folgendem Problem:

Ich starte eine Batch. Diese sollte 2 oder mehrere Batchs parallel starten und warten bis die letzte der aufgerufenen batchs beendet ist. erst danach sollte diese fortsetzen. hat jemand eine idee?

danke und gruss
dresi
 
  • #2
Aus der Batch heraus die anderen Batches mit start aufrufen.
 
  • #3
Hallo twoday

danke für den Tipp. Das habe ich schon probiert. dann werden zwar beide batches parallel aufgerufen, das Start-Batch wartet jedoch nicht bis die aufgerufenen 2 beendet sind.

mit call wartet das Start-Bat zwar bis das aufgerufene beendet ist, aber ich habe keine Möglichkeit gefunden 2 parallel aufzurufen...
 
  • #4
Batchverarbeitung ist sequentielle Verarbeitung und keine parallele Verabeitung: Immer ein Befehl nach dem anderen und nicht mehrere gleichzeitig.
Mehr ist dazu nicht anzumerken.
 
  • #5
hab ich mir irgendwie gedacht! wie siehts mit wsh scripts aus?
 
  • #7
dresi83 schrieb:
Ich starte eine Batch. Diese sollte 2 oder mehrere Batchs parallel starten und warten bis die letzte der aufgerufenen batchs beendet ist. erst danach sollte diese fortsetzen. hat jemand eine idee?

Vielleicht so (als Ansatz):

starter.cmd
Code:
@echo off
set baseDir=c:\bstarter\
set delay=2

setlocal EnableDelayedExpansion
set nReqSignals=0
set nSignals=0
pushd%baseDir%

if exist *.signal del *.signal

for /f %%f in (workers.txt) do ( 
 set /a nReqSignals+=1
 start helper.cmd %%f !nReqSignals!.signal
)

echo batches to run: %nReqSignals%

:wait

ping 127.0.0.1 -n %delay% >nul

if exist *.signal (
 for /f %%a in ('dir /a-d/b *.signal ^| find /v /c ::') do set /a nSignals=%%a
)

set /a nRunning = %nReqSignals% - %nSignals%

echo checking ... completed: %nSignals%, running: %nRunning%.

if %nSignals% LSS %nReqSignals% goto wait

popd

helper.cmd
Code:
call %1
echo %1, %date% /%time% > %2
exit

workers.txt
Code:
c:\bla\worker1.bat
c:\bla\worker2.bat
 
Thema:

aus einer batch 2 batchs parallel aufrufen und warten bis diese beendet sind

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.836
Beiträge
707.957
Mitglieder
51.489
Neuestes Mitglied
DonMartin
Oben