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.