Ich mache es ungefähr so.
Code:@echo off ::Parameter: :. semaphore: Name der Sperrdatei, die erstellt wird :: maxwait: maximale Anzahl an Durchläufen der Warteschlange bis zum Abbruch :: delay: Verzögerung pro Durchlauf in Sekunden :: debug: wenn 1, werde ein paar Ausgaben erzeugt, sonst bleibt die Batch stumm set semaphore="c:\lock" set maxwait=30 set delay=2 set debug=0 :: Start der eigentlichen Batch :: -------------------------------------------------- set loop=1 :Start if %debug%==1 (echo %loop%) if Exist %Semaphore% (Goto :Warten) :: Sperre setzen echo "1" >>%Semaphore% if %debug%==1 (echo Sperre gesetzt) :: Hier kommt der immer nur einzeln zu betreibende Programmblock hin :: ----------------------------------------------------------------------- :: Sperre entfernen und beenden del %semaphore% if %debug%==1 (echo Sperre entfernt) Goto :EOF :Warten set /a loop=%loop%+1 if %loop% gtr %maxwait% (Goto :EOF) Ping -n %delay% 127.0.0.1 > NUL Goto Start




Zitieren