38. Mit Batchdateien Textdokumente verändern

Die Sternenhimmelstuermerhomepage ist bemüht Kenntnisse über Batchdateien zu vermitteln. Dabei ist der erste Teil dieser Abhandlung für Anfänger. Fortgeschrittene User bittet der Sternenhimmelstuermer den Links zu Administrator.de zu folgen, da dort Profis für fast jede Aufgabenstellung eine Lösung haben. Die aufgeführten Links dürften dabei keine Fragen offen lassen.

1. Einführung in Batchdateien

Batchdateien sind zusammengefasste Befehle für die Kommandozeile ( start - cmd.exe eingeben und meistens mit rechter Maustaste "als Administrator ausführen").

Die Syntax der Kommandozeile ist meistens leicht. Der Befehl for /? besteht aus einem Befehl (for) und einem sogenannten Parameter /?. Nach der Betätigung der Eingabetaste werden Sie die Ausführungen der Hilfe erstmal erschlagen...Variablen, jede Menge Optionen und Parameter.

Das liegt daran, dass das Bearbeiten von einzelnen Zeilen innerhalb einer Textdatei (Dateiendung: *.txt, nur anschaubar, wenn Sie in einem Ordner die Menüleiste aktivieren - durch Organisieren - Layout - dieMenüleiste aktivieren -, dann unter Extras - Ordneroptionen - Registerkarte Ansicht - Erweiterungen bei unbekannten Dateitypen ausblenden deaktivieren - ganz einfach, nicht?) eine der mit schwierigsten Aufgaben für ungeübte User ist.

Als nächstes verlassen Sie die Kommandozeile und Erstellen zwei Textdokumente. Rechte Maustastenklick auf freie Fläche in einem Ordner oder Desktop und neue Textdatei auswählen. Dann einen neuen Namen geben.

Die erste Datei nennen Sie auslesetext.txt

In die erste Datei geben Sie z. B.

das
ist
ein
versuch

ein. Danach schließen Sie die Datei und bestätigen das Speichern im aufgeklappten Dialogfeld.
Benutzen Sie ruhig für jede Zeile ein oder Zwei Wörter.


Die zweite Datei nennen Sie z. B. versuch.txt

Danach tragen Sie den folgenden Befehl (in einer Zeile!) ein:


FOR /F "delims=" %%A in (auslesetext.txt) do echo Zeilenanfang"%%A"Zeilenende>>Ausgabedatei.txt

Danach wie oben angegeben Speichern.

Dann müssen Sie die Dateiendung der Datei versuch.txt in *.bat umändern - also versuch.bat

Vieleicht haben Sie eben Ihre erste Batchdatei erstellt?

Also, Batchdateien können eine oder mehrere Befehlszeilen enthalten. Die werden dann nacheinander verarbeitet, weshalb man Batchdateien auch gerne Stapelverarbeitungsdatei nennt.

Packen Sie die beiden Dateien mal in einen Ordner, Doppelklicken die Versuch.bat und wie von Geisterhand wird eine neue Datei namens Ausgabedatei.txt erstellt. Öffnen Sie diese und staunen:

Jede Zeile hat nun am Anfang die Wörter Zeilenanfang und Zeilenende. Wie ist das möglich?

Schauen Sie nun in die Hilfe und Sie werden staunen.

Sie haben nichts anderes getan, als den Satz:

FOR /F ["Optionen"] %Variable IN (Dateiensatz) DO Befehl [Parameter]

mit Leben erfüllt.

delims ist dabei die Option  - die wird in der Hilfe erklärt. Ist für Leerstops zustädig..

%%A ist die Variable A in einer Batchdatei. In einer Batchdatei sind immer zwei % -Zeichen zu verwenden. Ansonsten funktioniert das nicht in einer Batchdatei - auch dieses steht in der Hilfe - wird vom Leser leider oft überlesen und führt dann zur Konfusion.

Statt A können Sie auch jeden anderen Buchstaben nehmen...Das A steht nun für alle Zeilen in der Datei auslesetext.txt

Do echo ist der Befehl für die Spiegelung einer Zeile...Zeilenanfang"%%A"Zeilenende.

"%%A" ist dabei wieder jede Zeile des auslesetext.txt  .

Zeilenanfang und Zeilenende sind die beiden Wörter, die an derselben Position stehen wie in der Datei Ausgabedatei.txt.

>> steht für die Ausgabe in der Datei auslesetext.txt.

Anmerkung: Sie können sämtliche Dateien der Typen *.reg (Registrydateien), *.htm oder *.html (Webseiten) oder *.bat (Batchdateien) auf diese Weise bearbeiten. Außerdem einen ganzen Ordner mit Dateien mit diesen Endungen bearbeiten. Profis wissen dieses Potential zu schätzen...

Das war es schon. Anhand des Beispiels wissen Sie nun, wie das Grundprinzip funktioniert.

Alles andere kommt mit der Zeit und Übung.

Da das schwer ist, gibt es für jede erdenkbare Möglichkeit eine Lösung, die Sie im Falle dieses Vorhabens bevorzugt auf der Seite Administrator.de finden. Da gibt es wirklich die besten Lösungen.

Hier die häufigsten Problemfälle und eine Lösung als Link auf der Administratorseite.

Eine Endzeile in sämtliche Textdokumente einfügen:

http://www.administrator.de/index.php?content=113700

Über den o. a. Link der häufigsten Probleme werden Sie die wichtigsten Lösungen finden. Ansonsten mit Suchwörtern wie Biber (Spezialist für diese Art der Fragen), Batch, Textdokument.

Der Sternenhimmelstuermer hilft nicht weiter. Wenn er merkt, dass noch Bedarf besteht, wird die Abhandlung vielleicht weitergeführt.




Impressum
Datenschutz