TOPTORIALS OFFICE - Batch Grundkurs
Script-Paket: 009_Backup_mit_Datum
Autor: Chris
YouTube: https://www.youtube.com/@TOPTORIALS-OFFICE
Webseite: https://www.toptorials.com
Letzte Aktualisierung: 2026-06-27

============================================================

1. Was macht dieses Script-Paket?
   ============================================================

Dieses Script-Paket erstellt Backups von Projektordnern.

Dabei wird im jeweiligen Projektordner ein Unterordner mit dem Namen
"Backups" erstellt, falls dieser noch nicht vorhanden ist. In diesem
Backup-Hauptordner wird fuer jede Sicherung ein neuer Backup-Ordner mit
Zeitstempel erzeugt.

Beispiel:

Projektordner

* Datei1.docx
* Datei2.xlsx
* Unterordner
* Backups

  * Backup_2026-06-27_18-45-20

Das Script verwendet robocopy, um Dateien und Unterordner zu kopieren.

Wichtig:

Es wird bewusst nicht mit /MIR gearbeitet. Dadurch wird im Ziel nichts
gespiegelt oder geloescht.

============================================================
2. Enthaltene Dateien / Varianten
=================================

Dieses Paket enthaelt drei Varianten.

---

## 01_Projektordner sichern

009_backup_mit_datum_test.bat

Diese Variante liegt direkt im Projektordner.

Sie sichert den aktuellen Projektordner in einen Unterordner namens
"Backups".

Solange "_test" im Dateinamen steht, wird nur angezeigt, was kopiert
wuerde. Es wird noch kein echtes Backup erstellt.

---

## 02_Projektordner_sichern_mit_Log

009_backup_mit_datum_mit_log.bat

Diese Variante liegt ebenfalls direkt im Projektordner.

Sie erstellt ein echtes Backup und schreibt zusaetzlich ein robocopy-
Protokoll direkt in den jeweiligen Backup-Ordner.

Die Logdatei wird als Unicode-Protokoll geschrieben, damit Umlaute in
Datei- und Ordnernamen besser lesbar bleiben.

Beispiel:

Backups

* Backup_2026-06-27_18-45-20

  * backup_protokoll_2026-06-27_18-45-20.log

---

## 03_SendTo_Projektordner_sichern_mit_Log

009_sendto_backup_mit_datum_mit_log_test.bat
009_sendto_backup_mit_datum_mit_log.bat

Diese Variante ist fuer das Windows-Menue "Senden an" gedacht.

Man kann einen oder mehrere Projektordner im Explorer markieren und an
das Script senden.

Fuer jeden uebergebenen Ordner wird innerhalb dieses Ordners ein
"Backups"-Unterordner erstellt, falls er noch nicht vorhanden ist.
Darin wird dann ein neuer Backup-Ordner mit Zeitstempel erzeugt.

Auch diese Variante erstellt ein robocopy-Protokoll direkt im jeweiligen
Backup-Ordner.

============================================================
3. Anwendung der Projektordner-Variante
=======================================

Die Batchdatei in den Projektordner kopieren, der gesichert werden soll.

Beispiel:

Projektordner

* 009_backup_mit_datum_test.bat
* Datei1.docx
* Datei2.xlsx
* Unterordner

Danach die Batchdatei per Doppelklick starten.

Im Testmodus wird mit robocopy nur angezeigt, was kopiert wuerde.

Wenn alles korrekt aussieht, kann "_test" aus dem Dateinamen entfernt
werden. Danach fragt das Script vor der echten Ausfuehrung noch einmal
nach "JA".

============================================================
4. Anwendung der Log-Variante
=============================

Die Datei

009_backup_mit_datum_mit_log.bat

liegt direkt im Projektordner und erstellt ein Backup mit Protokoll.

Das Protokoll liegt anschliessend im jeweiligen Backup-Ordner.

Diese Variante ist besonders sinnvoll, wenn man spaeter nachvollziehen
moechte, welche Dateien kopiert wurden.

============================================================
5. Anwendung der SendTo-Variante
================================

Die SendTo-Batchdatei oder eine Verknuepfung davon kann in den
Windows-Ordner "Senden an" gelegt werden.

Den SendTo-Ordner oeffnet man mit:

shell:sendto

Danach kann man im Explorer einen oder mehrere Projektordner markieren
und mit

Rechtsklick -> Senden an

an das Script uebergeben.

Fuer jeden uebergebenen Ordner wird ein eigenes Backup erstellt.

============================================================
6. Testmodus und Sicherheit
===========================

Solange "_test" im Dateinamen steht, wird nur angezeigt, was passieren
wuerde.

Beispiele:

009_backup_mit_datum_test.bat = Vorschau
009_backup_mit_datum.bat      = echte Ausfuehrung

009_sendto_backup_mit_datum_mit_log_test.bat = Vorschau
009_sendto_backup_mit_datum_mit_log.bat      = echte Ausfuehrung

Fuer die echte Ausfuehrung muss "_test" aus dem Dateinamen entfernt
werden. Danach fragt das Script zusaetzlich nach "JA".

Das Script verwendet im Testmodus robocopy mit /L.
Dadurch wird nur aufgelistet, was kopiert wuerde.

============================================================
7. Backup-Ordner und Ausschluesse
=================================

Der Backup-Hauptordner heisst standardmaessig:

Backups

Dieser Ordner wird automatisch erstellt, falls er nicht existiert.

Der Backup-Hauptordner wird immer vom Backup ausgeschlossen, damit alte
Backups nicht erneut in neue Backups kopiert werden.

Zusaetzlich koennen im Script weitere Ordner und Dateien ausgeschlossen
werden.

Beispiele fuer ausgeschlossene Ordner:

Temp
Cache
Alte Dateien

Beispiele fuer ausgeschlossene Dateien oder Dateimuster:

desktop.ini
thumbs.db
*.tmp
*.log
*.bak

Die Ausschluesse werden im Script einzeln eingetragen, damit auch Namen
mit Leerzeichen funktionieren.

============================================================
8. Wichtige Hinweise
====================

* Vor der echten Ausfuehrung immer zuerst den Testmodus verwenden.
* Bei wichtigen Daten vorher pruefen, ob das Ziel sinnvoll ist.
* Das Script loescht keine Dateien.
* Das Script verwendet bewusst nicht /MIR.
* Der Ordner "Backups" wird immer ausgeschlossen.
* Die Log-Varianten schreiben das Protokoll direkt in den Backup-Ordner.
* Die Logdatei wird mit /UNILOG erzeugt, damit Umlaute besser lesbar sind.
* Je nach Ordnergroesse kann das Backup einige Zeit dauern.
* Der freie Speicherplatz sollte vor grossen Backups geprueft werden.

============================================================
9. Wichtige robocopy-Optionen
=============================

Dieses Script verwendet robocopy.

Wichtige Optionen:

/E
Kopiert Unterordner inklusive leerer Unterordner.

/L
Listet im Testmodus nur auf, was kopiert wuerde.

/XJ
Schliesst Junction Points aus und verhindert dadurch moegliche
Endlosschleifen.

/R:1
Versucht fehlgeschlagene Kopien nur einmal erneut.

/W:1
Wartet bei Wiederholungen nur eine Sekunde.

/XD
Schliesst Ordner aus.

/XF
Schliesst Dateien oder Dateimuster aus.

/TEE
Zeigt die Ausgabe im Fenster und schreibt sie gleichzeitig ins Log.

/UNILOG
Schreibt das robocopy-Protokoll als Unicode-Datei.

============================================================
10. Wichtige Lernpunkte
=======================

In diesem Script-Paket sieht man unter anderem:

* wie man einen Backup-Ordner automatisch erstellt
* wie man Zeitstempel fuer Backup-Ordner verwendet
* wie man robocopy fuer sichere Kopieraufgaben nutzt
* warum /MIR fuer Einsteiger-Backups vermieden wird
* wie man Ordner und Dateien von einem Backup ausschliesst
* wie man Ausschluesse mit Leerzeichen korrekt behandelt
* wie man Logdateien mit robocopy erstellt
* wie man Unicode-Logs fuer Umlaute verwendet
* wie man SendTo fuer Backup-Workflows nutzt

============================================================
11. Hinweise
============

Dieses Script-Paket ist besonders nuetzlich fuer Projektordner,
Office-Unterlagen, Steuerberater-Ordner, Webseitenordner, Scriptordner,
YouTube-Projekte und andere Arbeitsordner.

Die Nutzung erfolgt auf eigene Verantwortung.
Bitte Scripts immer zuerst in einem Testordner ausprobieren.
