Bu her zaman işe yaramaz (programın kendini nasıl yüklediğine bağlıdır), ancak normalde böyle bir toplu iş dosyası oluşturabilirsiniz:
@Echo off
:Start
NotePad
echo Program terminated at %Date% %Time% with Error %ErrorLevel% >> c:\logs\program.log
echo Press Ctrl-C if you don't want to restart automatically
ping -n 10 localhost
goto Start
Notepad'i örnek olarak kullandım.
Çizgiler
echo Press Ctrl-C if you don't want to restart automatically
ping -n 10 localhost
kullanıcıya yeniden başlamadan önce işlemi iptal etme şansı vermek için sadece 10 saniyelik bir gecikmedir.
Çizgi
echo Program terminated at %Date% %Time% with Error %ErrorLevel% >> c:\logs\program.log
gerekli değildir, ancak program bir dosyaya her kapatıldığında günlüğe kaydedilir, bu nedenle sorunu tanılamak yararlı olabilir ErrorLevel size çok fazla bilgi vermeyebilir, ancak bir program normal olarak kapatılırsa 0 döndürmesi gerekir ve - sıfır değilse mesaj
Not: Programın zaten çalışıyorsa hiçbir şey yapmadığını belirtmişsinizdir. Bu genellikle uygulamanın başladığı, başka bir kopyanın zaten çalıştığını algılar ve hemen kapanır anlamına gelir. Bu durumda ve programınız bu toplu iş dosyasını başlatmadan önce çalışıyorsa, toplu iş döngüde dönecek ve her on saniyede bir programınızı başlatmaya çalışacaktır.