marcys

Batch mit Robocopy ausführen und danach Pc runter fahren

Hallo,

ich möchte mir eine automatische Datensicherung einrichten. D. h. mein PC wird ein Mal im Monat in der Nacht hochgefahren, über den Aufgabenplaner soll dann folgende Batch ausgefürht werden:

robocopy.exe "d:\daten\test" "f:\daten\test" /s /v /eta /XD *VMW* /r:2 /TEE /log:c:\bat\backup_test.log

wenn der Kopiervorgang fertig ist, soll der Pc dann herunter gefahren werden. Reicht das aus, wenn ich unter den Befehl ein:

shutdown /s

drunter setze?

Gruß
Martin
Share on Facebook
Share on X (Twitter)
Share on Reddit
Share on Linkedin

Content-ID: 136805

Url: https://administrator.de/forum/batch-mit-robocopy-ausfuehren-und-danach-pc-runter-fahren-136805.html

Printed on: July 21, 2025 at 06:07 o'clock

maretz
maretz Feb 24, 2010 at 22:03:55 (UTC)
hmm - einfache art das rauszufinden: Eintragen und ausprobieren... Es wird nichts kaputt gehen!
KowaKowalski
KowaKowalski Feb 24, 2010 at 23:36:48 (UTC)
Hi martin,

nimm doch den Gui.
Der sollte Dir alle optionen erzeugen oder zumindest beispielhaft anzeigen.


mfg
kowa
Snowman25
Snowman25 Feb 25, 2010 at 00:12:22 (UTC)
Hallo @Marcys,

du solltest dem shutdown-Befehl noch eine Zeit mitgeben.
Wenn du ein Server-Betriebssystem verwendest, dann würde ich vorsichtshalber auch noch einen Grund angeben.
Ich würde das ganze wohl in etwa so lösen:

controller.bat
start "ROBOCOPY-BACKUP" /HIGH /WAIT backup.bat  
shutdown -s -t 30 -c "backup abgeschlossen" -f -d P:0:0  
backup.bat
robocopy.exe "d:\daten\test" "f:\daten\test" /s /v /eta /XD *VMW* /r:2 /TEE /log:c:\bat\backup_test.log  
if %ERRORLEVEL%==1 pause
exit

Gruß
Snow
Marcys
Marcys Feb 25, 2010 at 15:32:43 (UTC)
Hi,

@ snow.

Also das was du gepostet hast sieht sehr gut aus. Ich betreibe aber keinen Server. Es ist Win 7 Pro. Ich möchte 1 Mal im Monat den Rechner in der Nacht hoch fahren und eine Datensicherung durchführen. Danach soll er dann herunter gefahren werden. Hätte aber noch eine Frage hier zu:

if %ERRORLEVEL%==1 pause

was ist damit gemeint?

Ich habe mal aus der Controller.bat den Eintrag:

-c "backup abgeschlossen"

gelöscht. Wenn ich nun die Backup.bat ausführe bleibt das cmd fenster offen und dort steht:

d:\daten\batch>if 1 == 1 pause
drücken Sie eine beliebige Taste.

Gruß
Martin
Snowman25
Snowman25 Feb 25, 2010 at 16:02:40 (UTC)
 if %ERRORLEVEL%==1 pause 
bedeutet, dass die batch anhält, wenn ein Fehler aufgetreten ist und deswegen der Shutdown-Befehl der Controller.bat nicht durchgeführt wird. %ERRORLEVEL% ist ein Wert, der je nach ausgang des letzten Befehls einen bestimmten Wert aufweist (0 für erfolgreich).
Das -c "Backup abgeschlossen" im shutdown-Befehl gibt bloß an. was in dem "System wird heruntergefahren"-Fenster als Begründung steht. Das, was du eigentlich entfernen wolltest ist
-d P:0:0

Ausserdem seh ich gerade, dass du aus if %ERRORLEVEL%==1 pause eher das hier machen soltlest:
if %ERRORLEVEL% GTR 0 pause

Gruß
Snow
Marcys
Marcys Feb 25, 2010 at 16:07:46 (UTC)
Hi,

ich hatte gerade einen Denkfehler. Ich muss ja die controll.bat ausführen und nicht die backup.bat.

Insofern ist alles ok.
Marcys
Marcys Feb 25, 2010 at 17:22:26 (UTC)
Hallo,

ich habe nun alles so eingestellt wie ich es mir vorstelle.

Vielen Dank für die Tipps

Gruß
Martin