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
Please also mark the comments that contributed to the solution of the article
Content-Key: 73511
Url: https://administrator.de/contentid/73511
Printed on: April 25, 2024 at 19:04 o'clock
1 Comment
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