# Batch-Programmierung

Dieses Buch steht im Regal Programmierung.
Programmiersprachen Windows-Batchprogrammierung (CMD)

## Vorwort / Anmerkung

Dieses Buch behandelt primär die „Batch-Programmierung“ unter Windows, für den Windows Kommandozeileninterpreter (auch „Eingabeaufforderung“) „cmd.exe“, ab Windows NT (NT4.0, 2000, XP usw.).

## Kapitelverzeichnis

Hinweis: Die Benennung in diesem Inhaltsverzeichnis entspricht nicht zwangsläufig der Benennung der Wiki-Seite.
* Allgemeine Informationen und "Let's get started"
       ...über dieses Buch
       ...was sind Batchdateien?
       ...wie funktionieren Batchdateien?
       ...wozu braucht man Batchdateien?
       ...Anleitung: eine (erste) Batchdatei erstellen
       ...weiterführende Links
* Befehlsreferenzen
** Batchbefehl "Help" / Befehlsreferenz
** Batchbefehle (alphabetisch sortiert)
** Batchbefehle (nach Themen sortiert)
*** Batchbefehle (Befehle fürs Netzwerk)
*** Batchbefehle (Befehlsverkettung, Ein-/Ausgabeumleitung)
*** Batchbefehle (Prozesse, Dateien, Ordner, Partitionen)
* Variablen, Parameter und was man damit machen kann...
       ...zuweisen und auslesen von Werten
       ...rechnen mit Batchdateien
       ...übergabe von Werten an eine Batchdatei
       ...Benutzereingaben
       ...Zwischenspeichern von Ausgaben
* Batch Spiele
* Batch-Programmierung: Erstellen eines Spieles in Batch
* Programmierbeispiele
** Programmierungshilfen&Beispiele 1
** Programmierungshilfen&Beispiele 2
** (Die untergeordneten Listen müssen noch mit der Hauptliste gemerged werden)
* Zusatztools
* WebLinks

## Zusammenfassung des Projekts
### Diverse Projektangaben

* Themen- und Inhaltsbeschreibung / Aufbau des Buches:
    Gesamtstruktur: Zentrale umfassende Referenzliste und einzelne Kapitel zu diversen Themen
          (Eine erste Grundstruktur hat das Buch, muss allerdings noch weiter ausgebaut werden, vor allem fehlen die Inhalte, die zeigen, dass die Struktur auch wirklich passt)
    Kapitel Befehlslisten/Referenz mit ausführlichen Erklärungen und Beispielen zu den einzelnen (Batch)-Befehlen
          (Schon recht umfangreich aber bei weitem noch nicht vollständig, hat langsam eine gute Grundstruktur)
    Kapitel Erklärungen und Hinweise zum Erstellen, Editieren und Ausführen von Batchdateien
          (Allgemeine Info OK, aber die Startanleitung reicht für jemanden, der am Anfang steht wohl kaum aus)
    Kapitel Zusatztools / Hilfssoftware zum schreiben von Batchdateien
          (ziemlich dürr...)
    Kapitel Erklärungen und Hinweise zur Verwendung von Variablen und Parametern und dazugehörigen Funktionen wie Benutzereingabe etc.
          (schon recht umfangreich muss aber noch weiter ausgeführt werden
    Kapitel Erklärungen und Hinweise zur Verwendung von Programm-Kontroll-Strukturen (Schleifen etc.)
          (noch nicht vorhanden)
    Kapitel Programmierbeispiele und Vorlagen ("Patterns") für bestimmte Aufgabenstellungen
          (noch arg ungeordnet und nur etwa 20 Beispiele)
* Lernziele
    Verstehen wozu und wie spezifische Batchbefehle verwendet werden
    Batchdateien erstellen können, die eine bestimmte Aufgabe automatisch ausführen können
* Zielgruppe:
    PC-Anwender oder "zukünftige" Administratoren, die wissen wollen, wie man eine Batchdatei in Windows erstellt, ausführt etc.
    Personen, die mehr Informationen zu einzelnen Befehlen suchen
    Personen, die in Beispielen zu diversen Lösungen (Patterns) schmökern wollen
* Benötigte Vorkenntnisse:
    Erfahrung mit der Benutzung von Windows-Betriebssystem zumindest über das GUI (Graphische-Benutzer-Oberfläche), bzw. Kenntnis über die Aufgabe, die mit Hilfe von Batchbefehlen erledigt werden soll.
* Buchpatenschaft / Ansprechperson:
    Zur Zeit niemand. Buch darf übernommen werden.
* Sind Co-Autoren gegenwärtig erwünscht?
    Ja, sehr gerne.
* Projektumfang und Abgrenzung zu anderen Wikibooks:
    Das Buch soll möglichst umfassende Informationen zur Erstellung von Batchdateien unter Windows, inklusive Zusatzwissen wie Werkzeugen etc. geben.

### Richtlinien für Co-Autoren:
#### Hinweise zu Ergänzungen an vorhandenen Befehlen

Richtet Euch nach Möglichkeit an der Struktur zum Eintragen von neuen Befehlen aus. Eine Vorlage findet ihr weiter unten.

#### Hinweise zum Eintragen von neuen Befehlen

* Die Befehle sollten in ihrer (Sub)-Liste alphabetisch geordnet sein, im Zweifelsfall verwendet bitte die Liste mit dem Namen: "Batch-Befehle (alphabetisch sortiert)", sofern der Befehl nicht bereits in einer der anderen Listen ist.
    Anmerkung zu den anderen Listen: Die anderen Listen habe ich, soweit es ging, sortiert. Ihr könnt Ihn aus den anderen Listen in die Liste "Batch-Befehle (alphabetisch sortiert)" übertragen und nur noch einen Verweis/Link in der ursprünglichen Liste hinterlassen. Es macht meiner Meinung nach mehr Sinn alle Befehle in einer Liste als eine Art ausführliche Befehlsreferenz zu führen, da bei Kategorien es irgendwann zu mehrfachen Zuordnungsmöglichkeiten kommt. Außerdem würde eine ausführliche Befehlsreferenz eine gute Basis für die Weitere Arbeit des Buches darstellen, da man so sinnvoll auf Befehle verlinken kann um erklärende Kapitel wie "Variablen" oder "Kontrollstrukturen" u.ä. zu erstellen (Last Update: --Albin 15:18, 10. Mär. 2013 (CET))
* Fürs Erste hat sich das Einfügen von mindestens folgenden Angaben als hilfreich herausgestellt:
    1. Die Syntax für den (neuen) Befehl inkl. einer Angabe der für diesen Syntax zulässigen Windowsversionen
    2. Einen Weblink z.B. zur Microsoft-Referenz, insbesondere dann, wenn man den Befehl nicht selber getestet hat. Bei mehreren Weblinks ist eine kurze Angabe, was der neue Link an Mehrwert bringt hilfreich (z.B. eine vollständige Beschreibung aller Befehlsparameter).
    3. Eine Text-Erläuterung des Befehls und allgemeine Hinweise zur Benutzung aufzeigen und erklären
    4. Beispiele (mit einer Darstellung und/oder Beschreibung der Ausgabe)

#### Kurz-Vorlage für neue Befehle

    Syntax:
    Web-Links:
    Erklärung:
    Verwendung:
    Beispiele:
    '''Hauptpunkt:'''
    * Sub-Punkt
    : Sub-Punkt

#### Ausführliche Vorlage für neue Befehle (inkl. Beispielen)

Syntax:
* Windows 2000, XP, Vista, 7, und 8
    HIER DIE SYNTAX / HINWEISE REINSCHREIBEN
       z.B. cmd /a|/u|/q|/d|/e (ON|OFF)|/f (ON|OFF)|/v (ON|OFF)|/c befehl|/s|/k|/y
* DOS, Windows 95, 98, ME
    HIER DIE SYNTAX / HINWEISE REINSCHREIBEN (anschliessend 3 Leerzeilen Abstand)
       z.B. cmd /a|/u|/q|/d|/e (ON|OFF)|/f (ON|OFF)|/v (ON|OFF)|/c befehl|/s|/k|/y
Web-Links:
* HIER DEN WEBLINK EINTRAGEN (anschliessend 3 Leerzeilen Abstand)
    (Hinweis: zur Verwendung des Beispiels als Vorlage die Einrückung "::" entfernen und den Text ab "HIER..." ersetzen!)
       z.B. Windows XP Professional Product Documentation
Erklärung:
HIER EINE TEXTERKLÄRUNG DES BEFEHLS EINTRAGEN (anschliessend 3 Leerzeilen Abstand)
Verwendung:
HIER HINWEISE ZUR VERWENDUNG EINTRAGEN (anschliessend 3 Leerzeilen Abstand)
Beispiele:
HIER BEISPIELE EINTRAGEN (nach möglichkeit mit Darstellung / Beschreibung der Ausgabe)
(Hinweis: zur Verwendung des Beispiels als Vorlage die Einrückung "::" bzw. "style="margin-left:3em;"" entfernen und den Text ab "HIER..." ersetzen!)
       z.B.
       Inhalt der Batchdatei
       cmd
       Ausgabe (unter XP)

## Neue und aktive Autoren

* Bisher nur ich, Genrich. Aber alle sind eingeladen, hier mitzuwirken !
* Jetzt auch ich, Andy1407. Ich habe mir die Seiten angeschaut und ein wenig ausführlichere Beschreibungen hinzugefügt. Ansonsten war die Seite in gutem Zustand. Ein Besuch lohnt sich !
* Ich bin auch dabei - hatte gestern schon ohne Anmelden was zu Windows NT geschrieben. Wurzeldrei 11:18, 24. Feb 2006 (UTC)
* Ich hab soeben auch noch ein wenig was einfließen lassen Jens Diemer 20:30, 20.04.2006 ;)
* Bin jetzt auch dabei Michfrm 20:43, 24. Mai 2006 (UTC)
* Nun ja, wenn Ihr Euch hier eintragt - dann auch ich: DonPaul, 26.05.2006
* Einige Ergänzungen zum Thema direktes Drucken und an einigen anderen Stellen einige Korrekturen einfließen lassen. Torax Malu, 13/08/06 9:17 GMT+2
* Habe gerade noch ein Fragment zum Registry-Auslesen zu den Beispielen hinzugefügt. Veit, 18.09.2006
* Ich habe zwar keinen Artikel erstellt, dafür aber eine Druckversion geschrieben. Codejunkie, 10.02.2007
* MF-Warburg 12:18, 9. Jul. 2007 (CEST)
* Fitz hat noch einiges ergänzt 23:27, 30.10.2007 GMT+2
* Ich hab auch noch ein kleines bisschen was ergänzt... --Skalbfleisch 17:22, 15. Jan. 2008 (CET)
* dto. --Wolfgangbeyer 19:29, 8. Apr. 2008 (CEST)
* Mache jetzt nicht mehr nur per IP mit --Azaël 01:12, 18. Okt. 2008 (CEST)
* Ich, --schneijo, habe noch ein paar spezielle Sachen hinzugefügt (Windows Vista)...
* Bin auch dabei ab jetzt --Batchscripter93 3:07, 27. Nov. 2008 (CEST)
* Wie erstelle ich ein neues Verzeichnis in dieser Sammlung für den CHOICE Befehl?
    ==> gehört auf die Buch-Diskussionsseite oder auf die Hilfeseite! --Albin 00:52, 7. Feb. 2013 (CET)
* Ich auch... hab mich an den ersten Schritt der Umstrukturierung gewagt, mal gucken, obs wieder reanimiert werden kann... --Albin 00:52, 7. Feb. 2013 (CET)
* Ich nun ebenfalls ;) Mal sehen, was ich eintragen kann --Silver-tm- 1:17, 4. Mai 2014
* Ich habe ein neues Kapitel Spiele erstellt... wer will kann mir gerne beim Schreiben Helfen ~Dr.McHack~
* Und ich hab noch bei den Programmierbeispielen eine weitere Möglichkeit der Pause hinzugefügt AndyK70 17:07, 9. Jan. 2018 (CET)

## Verweise

* ↑ Der Titel „Batchprogrammierung“ ist für dieses Buch zu allgemein, siehe Diskussionsseite: Titel des Buches
* ↑ Das Buch wurde seitdem die Seiten ursprünglich angelegt wurden umstrukturiert, allerdings ist die Umbenennung der Seiten noch nicht abgeschlossen. Siehe Diskussionsseite (Beitrag: Neu geordnet aber noch nicht umbenannt)
* ↑ Für weitere Infomration zum Unterschied zwischen den Listen siehe Abschnitt für neue Autoren, unter: Hinweise zum Eintragen von neuen Befehlen.