copy hilfe.txt r:
Sehr wichtig ist auch der Befehl Copy, um Daten aus einer Quelle zu einem Ziel zu bringen, meist Dateien von einer Speicherposition zu einer anderen wie mit copy hilfe.txt r: zu übertragen. Dieser Befehl kopiert eine Datei im aktuellen Verzeichnis auf das Laufwerk r:, einen Speicherstick. Sie legen...

Sehr wichtig ist auch der Befehl Copy, um Daten aus einer Quelle zu einem Ziel zu bringen, meist Dateien von einer Speicherposition zu einer anderen wie mit copy hilfe.txt r: zu übertragen. Dieser Befehl kopiert eine Datei im aktuellen Verzeichnis auf das Laufwerk r:, einen Speicherstick. Sie legen mit copy auch eine identische Kopie unter einem anderen Dateinamen wie copy hilfe.txt hilfe2.txt oder einer anderen Dateiendung an: copy hilfe.txt hilfe.alt.
Als Ziel lässt sich auch einer der reservierten Gerätenamen verwenden, wie dies zuvor das Beispiel pause>nul nutzt. Der Gerätename Nul verschluckt einfach unerwünschte Ausgaben. Der Befehl copy hilfe.txt>nul ist somit statthaft, bewirkt aber nichts. Anders sieht es aus, wenn Sie die Ausgabe an den Drucker wie mit copy hilfe.txt prn: schicken.
Wenn es sich nicht um reine Textdateien handelt, verwenden Sie den Copy-Parameter /b, der binäre Daten kopiert und Steuerzeichen nicht ausführt, sondern weiterleitet: copy /b hilfe.txt prn: Das Beispiel Cd1.bat (Heft-DVD) spielt mit Verzeichnissen.
Ein weiterer wichtiger DOS-Befehl lautet Ren oder Rename. Damit benennen Sie Dateien oder Dateigruppen um. Es steht ihnen frei, den Dateinamen, die Erweiterung oder - wie im Beispiel - beides zu ändern: ren hilfe.txt hilfe.alt. Die ursprüngliche Datei ist nach dem erfolgreichen Rename-Befehl nicht mehr vorhanden.
Batch-Dateien kopieren auch Verzeichnisäste. Dazu verwenden Sie den Xcopy-Befehl, der über zahlreiche Parameter zur Feineinstellung verfügt. Die grundsätzliche Syntax lautet xcopy Quelle Ziel Parameter. Sie überblicken alle verfügbaren Parameter mit dem schon erwähnten Befehl help xcopy|more.
Der Befehl help xcopy liefert die gewünschten Informationen, der Filter |more bewirkt eine seitenweise Ausgabe auf dem Bildschirm. Das Befehlsverkettungszeichen ¦ erreichen Sie auf den meisten Tastaturen durch die Tastenkombination [Alt-Strg-<].
Sprungmarken, Umgebungsvariablen
Batch-Programme reagieren auch auf - zugegeben einfache - Gegebenheiten. Der If-Befehl führt den folgenden Befehl nur aus, wenn die Bedingung auch erfüllt ist. Damit lassen sich u.a. die Existenz von Dateien sowie Verzeichnissen prüfen: if exist c:\Texte\Dateiname.txt Befehl. Ist die Bedingung erfüllt, also die Textdatei im Verzeichnis c:\Texte vorhanden, arbeitet der Befehl in der If-Zeile.
Ansonsten arbeitet die nächste Zeile weiter. Statt If Bedingung arbeiten Sie auch mit If not Bedingung, was die Logik umkehrt: if not exist c:\Texte\Dateiname.txt Befehl. Statt auf die Existenz der Datei zu reagieren, wirkt dies nur, wenn Datei oder Verzeichnis nicht vorhanden sind.
Der If-Befehl kennt noch weitere Varianten, wie Sie bei den Themen Umgebungsvariablen sowie Errorlevel-Auswertung lesen. Das Batch-Beispiel If1.bat b (Heft-DVD) zeigt den Einsatz. Anstelle eines Befehls verzweigen Sie auch zu einer Stelle mit dem Goto-Befehl:
goto Fehler2
oder auch
if not exist datei.txt goto Fehler3
Die so anzuspringende Stelle muss allerdings im Batch-Programm auch referenziert sein. Hierfür verwenden Sie den gleichen Namen wie schon bei Goto, setzen zuvor aber noch einen Doppelpunkt. Diese Sprungmarke stellt eine eigene Zeile dar:
:Fehler2
rem Fehlersituation 2 auswerten
...
:Fehler3

Der Goto-Befehl verändert also den sequentiellen Ablauf von Programmen - also von oben nach unten. Sie springen bedingt oder unbedingt zu einer beliebigen Stelle im Programm und setzen den weiteren Ablauf dort fort. In Kombination mit dem If-Befehl ergeben sich so leistungsfähige Strukturen. Wie Sie mit Sprungmarken arbeiten, stellt das Beispiel Goto1.bat auf der Heft-DVD dar.
Batch-Programme legen zum einen Umgebungsvariablen an oder löschen diese, zum anderen werten sie diese auch aus. Auf diese Art kommunizieren Hilfs- oder Anwendungsprogramme einerseits und Batch-Programme andererseits. In Umgebungsvariablen speichern Sie Zugriffspfade, Ergebnisse oder auch den Status von Operationen. Eine Umgebungsvariable definieren Sie mit dem Befehl set Variablenname=Wert also beispielsweise set tempo=hoch.