Kommandozeileneingabe unter Windows

From OpenStreetMap Wiki
Jump to navigation Jump to search

Vielen MS-Windows-Anwendern ist der Umgang mit der Windows-Kommandozeileneingabe unbekannt. Zahlreiche für OSM programmierte Tools können aber nur angewendet werden, wenn man zumindest das Grundprinzip dieser Arbeitsweise kennt. Dadurch kommen viele Windows-Anweder mit solchen OSM-Tools nicht zurecht. Dabei ist der Umgang mit der Kommandozeileneingabe gar nicht so schwer, wenn man erst einmal verstanden hat, wie dieses "Baukastensystem" funktioniert.

Diese Wiki-Seite ist als allgemeine Kurzeinführung gedacht. Sie möchte Windows-Anwendern das Grundverständnis für den Umgang mit Kommandozeilen vermitteln. Es soll keine ausführliche Anleitung zum Schreiben von Batch-Dateien werden. Für solche sich sich meistens auf konkrete Anwendungsfälle beziehende Beispiele und Anleitungen legt bitte neue Wiki-Seiten an.
Am Ende dieser Seite wird die Kategorie Hilfen_für_Windows-User_Kommandozeilen_und_Batch-Dateien angezeigt. Diese Kategorie wird zusammen mit dieser Seite angelegt. Wenn alle Wiki-Seiten mit Hilfestellungen für die MS-Kommandozeileneingabe und der Erstellung von Batch-Dateien in diese Kategorie "eingehängt" werden, entsteht eine alphabetisch geordnete Übersicht, die das Auffinden der Hilfe-Seiten erleichtert.


Was ist eine ... ?

MS-Kommandozeileneingabe

Bevor mit grafischen Oberflächen arbeitende Systeme entwickelt wurden, erledigte man alle PC-Aktionen ausschließlich mit Hilfe von textbasierten Befehls-Codes. Die Eingabe eines Codes wird fortlaufend innerhalb einer Zeile eingegeben und durch enter abgeschlossen. Daraufhin springt der Dos-Prompt/die Eingabeaufforderung in die nächste Zeile. Daher die Bezeichnung "Kommandozeile".
Ursprünglich erledigte man die Eingabe der Kommandos innerhalb einer einzigen Bildschirmanzeige. Später entwickelten sich Fenster-Systeme, mit deren Hilfe man mehrere Bildschirme simulieren und dadurch mehrere Anwendungen gleichzeitig verfolgen konnte. Das Fenster für die Eingabe der Befehlsketten nennt man Windowskonsole. Diese Windowskonsole läßt sich unter allen bis heute entwickelten Windowsversionen aufrufen. Umfang und Syntax der unter MS-DOS und MS-Windows zur Verfügung stehenden Befehle änderten sich allerdings im Laufe der Zeit.
Siehe auch Wikipedia - Kommandozeile / Wikipedia - Kommandozeileninterpreter / Wikipedia - Cmd.exe / wikipedia MS-Dos / winhistory MSDos

Batch-Datei

Die Direkteingabe der Befehle am sogenannten DOS-Promt (Aufforderungszeichen) wird zu einer nervenden Angelegenheit, wenn man für sich wiederholende Arbeitsroutinen immer wieder dieselben Textzeilen eingeben muß. Gibt man einen immer wieder kehrenden Stapel von Befehlen in einen einfachen Texteditor (z.B. Windows Notizblock) ein, kann man solche Arbeitsabläufe automatisieren. Man speichert die unformatierte Text-Datei unter Windows-XP, Vista und Win7 mit der Endung *.bat . Dadurch wird sie zu einer mit Doppelklick aktivierbaren Stapelverarbeitungs-Datei = Batch-Datei. Batch-Dateien lassen sich auch in der Windowskonsole aufrufen bzw. innerhalb übergeordneter Batchdateien wie Befehle nutzen.

Wie ...

... ruft man die Windowskonsole auf?

Start > Ausführen > Öffnen: cmd

... erstellt man eine Batch-Datei?

Als Editor ist beispielsweise der unter Programme/Zubehör zu findende Notizblock geeignet. Darin trägt man Zeile für Zeile die Befehle ein, die man in der Windows-Konsole ausprobiert. In der Testphase kann man folgendermaßen vorgehen:

  • Kommando im Notizblock eingeben
  • Zeile mit Strg+C kopieren
  • Zeile mit Strg+V in die Windowskonsole einfügen
  • Enter

Auf diese Weise erhält man nicht nur ein Protokoll der getesteten Befehle, sondern auch automatisch eine Batch-Datei, sobald man die Endung der gespeicherten Datei von *.txt in *.bat ändert.

Um die OSM-Kommandozeilen-Tools in der Windowskonsole aufrufen zu können, muß man mit Hilfe der cmd-Befehle in das Verzeichnis des OSM-Komandozeilen-Tools navigieren. Diese Befehle übernimmt man ebenfalls in die Batch-Datei.

OSM-Tools ruft man mitsamt Tool-Befehl mit einem cmd-Befehl (z.B. call) auf.
Die in einem Tool zur Verfügung stehenden Befehle schlägt man auf der im Programm integrierten Hilfeseite nach. Aufruf meistens mit <Programmname> -h oder <Programmname> --help. Auch im OSM-Wiki findet man mehr oder weniger umfangreiche Dokumentationen der für OSM entwickelten Kommandozeilen-Programme. Hilfestellungen findet man auch im Forum. Fertig gebratene Tauben allerdings eher nicht ;-). Selbst ist der Koch oder die Köchin! :-)

Um das Script übersichtlicher und für eine spätere Durchsicht verständlicher zu gestalten, empfielt es sich, REM-Zeilen (rem=remark) mit kurzen Erläuterungen einzufügen. Diese haben keinen Einfluß auf die Durchführung der eigentlichen Befehle und werden auch nicht in der Windows-Konsole angezeigt.

Komplexe Arbeitsabläufe teilt man am besten in einzeln durchführbare Unterroutinen auf. Das ermöglicht modulare Testläufe und erleichtert Korrekturen.

Ein "pause" Befehl am Ende der batch-Datei sorgt dafür, dass das Fenster nicht automatisch geschlossen wird und man so eventuelle Fehlermeldungen lesen kann.

Wo findet man Beispiele für ... ?

Kommandozeilen

Beispiele für Kommandozeilen findet man

  • in den Wiki-Dokumentationen der OSM-Tools,
  • auf User-Wiki-Seiten
  • in Foren

Da diese Dokumentationen für Einsteiger nicht so leicht zu finden sind, wäre es schön, wenn alle mithelfen, die adäquaten Wiki-Seiten in die Kategorie Hilfen_für_Windows-User_Kommandozeilen_und_Batch-Dateien einzuhängen und interessante Threads auf thematisch passenden Wiki-Seiten zu verlinken.

Scripte bzw. Batch-Dateien

Auch die sind im Wiki und im Forum verstreut und hoffentlich bald möglichst zahlreich in der Kategorie Hilfen_für_Windows-User_Kommandozeilen_und_Batch-Dateien "eingehängt".