copy hilfe.txt r:

© Archiv
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

© Archiv
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.