Windows Geplanter Task nur erster Batchjob wird ausgeführt
Hallo,
ich habe zur Synchronisation unseres Fileservers für jedes Laufwerk eine Batchdatei erstellt die das Laufwerk per robocopy auf einen zweiten Server spiegelt:
z.B. robocopy_d.bat:
@echo off
REM list of directories to backup:
set dirlist=abteilungen projekte compass ablage cad scans katalogablage nc-programme brennteile
REM setting variable mirror to null
set mirror=
REM getting current day:
for /f "tokens=1-3 delims=." %%a in ('date /t') do (set day=%%a)
if %day% == 01 goto 1st
goto not1st
:1st
set mirror=/MIR
echo Its day Nr. 1 of this month. Cleaning up...
goto robo
:not1st
set mirror=
goto robo
:robo
for %%i in (%dirlist%) do (
robocopy d:\%%i\ \\hera\e$\%%i\ /e /b /copyall /r:1 /w:5 /np /tee /log:d:\%%i.log %mirror%
)
:end
sleep 10
Es gibt diese Datei für die Laufwerke D:, E: und F:. Jetzt habe ich eine Datei c:\tools\robocopy.bat erstellt die alle 3 Dateien hintereinander aufrufen soll.
robocopy.bat:
@echo off
echo Starting robocopy d:
d:
cd \
robocopy_d.bat
echo Starting robocopy e:
e:
cd \
robocopy_e.bat
echo Starting robocopy f:
f:
cd \
robocopy_f.bat
Wenn ich das ganze per Hand starte klappt es ohne Probleme, aber wenn ich es über "Geplante Tasks" starte wird immer nur die Batchdatei auf D: ausgeführt. Es scheint so als ob der Prozess robocopy.bat nicht lange genug läuft um nach D:\robocopy_d.bat noch die anderen beiden auf E: und F: zu starten?! Wie kann ich das umgehen?
lg Florian
ich habe zur Synchronisation unseres Fileservers für jedes Laufwerk eine Batchdatei erstellt die das Laufwerk per robocopy auf einen zweiten Server spiegelt:
z.B. robocopy_d.bat:
@echo off
REM list of directories to backup:
set dirlist=abteilungen projekte compass ablage cad scans katalogablage nc-programme brennteile
REM setting variable mirror to null
set mirror=
REM getting current day:
for /f "tokens=1-3 delims=." %%a in ('date /t') do (set day=%%a)
if %day% == 01 goto 1st
goto not1st
:1st
set mirror=/MIR
echo Its day Nr. 1 of this month. Cleaning up...
goto robo
:not1st
set mirror=
goto robo
:robo
for %%i in (%dirlist%) do (
robocopy d:\%%i\ \\hera\e$\%%i\ /e /b /copyall /r:1 /w:5 /np /tee /log:d:\%%i.log %mirror%
)
:end
sleep 10
Es gibt diese Datei für die Laufwerke D:, E: und F:. Jetzt habe ich eine Datei c:\tools\robocopy.bat erstellt die alle 3 Dateien hintereinander aufrufen soll.
robocopy.bat:
@echo off
echo Starting robocopy d:
d:
cd \
robocopy_d.bat
echo Starting robocopy e:
e:
cd \
robocopy_e.bat
echo Starting robocopy f:
f:
cd \
robocopy_f.bat
Wenn ich das ganze per Hand starte klappt es ohne Probleme, aber wenn ich es über "Geplante Tasks" starte wird immer nur die Batchdatei auf D: ausgeführt. Es scheint so als ob der Prozess robocopy.bat nicht lange genug läuft um nach D:\robocopy_d.bat noch die anderen beiden auf E: und F: zu starten?! Wie kann ich das umgehen?
lg Florian
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-Key: 73511
Url: https://administrator.de/contentid/73511
Ausgedruckt am: 28.03.2024 um 21:03 Uhr
1 Kommentar
Vileicht hilft es wenn du dazwischen einen paar Sekunden wartest.
Wie du ein sleep realisieren kannst ist z.B. hier beschrieben.
klick mich
Wie du ein sleep realisieren kannst ist z.B. hier beschrieben.
klick mich