Per Batch-Datei Ordner erzeugen und benennen

Für Ihre Datensicherung legen Sie regelmäßig Ordner an und kopieren wichtige Dateien aus Ihrem Arbeitsverzeichnis hinein. Das soll eine Batch-Datei übernehmen, die die Verzeichnisse zusätzlich mit dem aktuellen Datum benennt.

Lesen Sie zunächst das aktuelle Datum und die Zeit aus und formatieren Sie beides. In Batch-Dateien können Sie dazu die Systemvariablen »date« und »time« verwenden, die in Prozentzeichen eingeschlossen sind. So erzeugt das Kommando »echo %date%« die Bildschirmanzeige des Datums in einer DOS-Box, im Beispiel »Mi 27.10.2004«. Und mit »echo %time%« erhalten Sie die aktuelle Uhrzeit, dabei sind Stunden, Minuten und Sekunden durch Doppelpunkte getrennt. Zusätzlich werden 100stel-Sekunden nach einem Komma angezeigt, also zum Beispiel »18:41:00,96«. Als Bezeichnung für den später noch zu erzeugenden Ordner ist das Ergebnis in dieser Form jedoch ungeeignet, da Windows Sonderzeichen in Verzeichnisnamen nicht zulässt.

Formatieren Sie daher die Ausgabe: Dazu können Sie hinter dem Befehl einen Doppelpunkt, gefolgt von einem Parameter, eingeben. Durch einen Nachsatz der Form »:.=,« tauschen Sie zum Beispiel alle enthaltenen Punkte der Zeichenkette gegen Kommata. Der Aufruf »echo %date:.=%« nutzt dieses Prinzip, um die Punkte aus dem Datum zu entfernen: Er ersetzt sie durch das Steuerzeichen »%«, das bei der Ausgabe einfach weggelassen wird. Und mit dem Befehl »echo %date:~3,10%« entnehmen Sie einen Teilstring aus der Zeichenkette, der nach dem Zeichen 3 beginnt und 10 Zeichen umfasst. Ergebnis: Der Wochentag wird ausgeschnitten, nur das Datum angezeigt. Da Sie beide Operationen nicht direkt kombinieren können, müssen Sie den Wert nach der ersten Operation mit dem Befehl »set« in einer anderen Variablen zwischenspeichern, die Sie in einem weiteren Bearbeitungsschritt mit einem neuen Parameter weiter formatieren. Abschließend können Sie mehrere erzeugte Variablen dann direkt aneinander reihen.

Um einen Ordnernamen mit Datum und Zeitangabe zu konstruieren, verwenden Sie beispielsweise folgende Befehle:

set Datum1=%date:.=%

set Datum=%Datum1:~3,8%
set Zeit1=%time:~0,8%
set Zeit=%Zeit1::=%
set Ordner=%Datum%-%Zeit%
Die Variable »Ordner« enthält dann einen Wert wie »27102004-184100«. Erzeugen Sie nun mit dem Befehl
md C:\Backup\%Ordner%
in Ihrem Backup-Ordner ein neues Verzeichnis (»md« steht für »make directory«), das als Namen den oben generierten Wert verwendet. Den Pfad können Sie an Ihre Vorgaben anpassen. Wenn Sie Ihre wichtigen Dateien beispielsweise im Verzeichnis »C:\Daten\« verwalten, übernimmt das Kommando
copy C:\Daten\*.* C:\Backup\%Ordner%
gleich das Kopieren aller Dateien in den neu angelegten Ordner. Auf Wunsch können Sie danach mit
%SystemRoot%\explorer.exe C:\Backup\%Ordner%
den Backup-Ordner in einem neu geöffneten Windows-Explorer-Fenster anzeigen lassen. Tippen Sie alle Befehle untereinander in eine Textdatei und speichern Sie sie beispielsweise als »Backup.bat« auf dem Desktop ab. Das fertige Listing finden Sie auch auf der Heft-CD unter CHIP-Code Praxis02.