Transcription of Batch-Programmierung - upload.wikimedia.org
1 August 2014On the 28th of April 2012 the contents of the English as well as German Wikibooks and Wikipediaprojects were licensed under Creative Commons Attribution-ShareAlike Unported license. AURI to this license is given in the list of figures on page87. If this document is a derived work fromthe contents of one of these projects and the content was still licensed by the project under thislicense at the time of derivation this document has to be licensed under the same, a similar or acompatible license, as stated in section 4b of the license. The list of contributors is included in chapterContributors on page83. The licenses GPL, LGPL and GFDL are included in chapter Licenses onpage91, since this book and/or parts of it may or may not be licensed under one or more of theselicenses, and thus require inclusion of these licenses. The licenses of the figures are given in the listof figures on page87. This PDF was generated by the LATEX typesetting software. The LATEX sourcecode is included as an attachment ( ) in this PDF file.
2 To extract the source fromthe PDF file, you can use thepdfdetachtool including in thepopplersuite, or Some PDF viewers may also let you savethe attachment to a file. After extracting it from the PDF file you have to rename it uncompress the resulting archive we recommend the use The LATEX source itself was generated by a program written by Dirk H nniger, which is freely available underan open source license :Dirk_ Allgemeine In diesem Buch behandelte (und nicht behandelte) Skriptsprachen.. Was sind und wie funktionieren Batchprogramme?.. Nutzung von Batchprogrammen.. Wie erstelle ich eine Batchdatei?.. Weiterf hrende Informationen und Links.. 42 Wichtige assoc.. attrib.. cacls.. cd / chdir.. comp oder fc.. (x)copy/robocopy.. del / erase.. deltree.. dir.. edit.. find.. format.. loadhigh.. md / mkdir.. more.. move.. path.. rd / rmdir.. ren oder rename.. start.. taskkill.. tasklist.
3 Type.. 143 Batch Wichtiger Hinweis zu diesem Abschnitt.. Vorsicht Leerzeichen!.. ! (Ausrufezeichen).. : (Doppelpunkt).. :: (doppelter Doppelpunkt).. CALL.. CHCP.. CLS.. CMD.. COLOR.. COMMAND.. DATE.. ECHO.. ERRORLEVEL.. ENDLOCAL / (SETLOCAL).. EXIT.. FOR.. GOTO.. IF.. KEYB.. PAUSE.. PROMPT.. PUSHD / POPD.. REM.. RENAME.. SET.. SETLOCAL / (ENDLOCAL).. TIME.. TITLE.. 334 Batch &.. |.. &&.. ||.. <.. >.. >>.. 375 Erweiterungen unter Windows Variablen Kurz bersicht.. Variablenerstellung, -zuweisung und -abruf.. G ltigkeitsbereich von Variablen.. Umgebungsvariablen (Windows Environment Variables).. Weitere "Variablenarten".. Stringoperationen (Manipulation von Strings in Variablen).. Arithmetische Operationen (set /a).. Ein- und Ausgaben in Variablen speichern ("set /p").. 456 Programmierungshilfen477 ping.. ipconfig.. tracert.. netstat.
4 Netsh.. NET.. 588 Beispiele639 Zusatz-Tools7510 help.. 7711 Foren / Hilfe zur Batch-Programmierung finden.. Ungeordnete Links (Seiten mit tutorien, Referenzen, Beispielen etc.).. Tutorials.. B cher.. Referenzen.. 8212 Autoren83 Abbildungsverzeichnis8713 GNU GENERAL PUBLIC LICENSE.. GNU Free Documentation License.. GNU Lesser General Public License.. 93 Kategorie:Buch mit Druckversion11 Allgemeine In diesem Buch behandelte (und nicht behandelte)SkriptsprachenIn diesem Buch geht es prim r um das Erstellen von Batchdateien/Skripten f r den Micro-soft Windows Kommandozeileninterpreter ( r Windows XP / Vista / 7). Informa-tionen zu Batchdateien unter DOS (und auf DOS basierenden Windowsversionen wie 98) werden teilweise miterl utert. Unterschiede zur Verwendung der Befehle inden unterschiedlichen Windowsversionen werden unter der jeweiligen Befehlsbeschreibungerl Betriebssysteme bieten vergleichbare und teilweise wesentlich m chtigere Funktio-nen (wie z.)
5 B. die in der Linux-Welt weit verbreitete Bash oder AppleScript f r den Mac).Auch f r Windows gibt es M glichkeiten, m chtigere Skripte zu erstellen, hierzu kann derWindows Script Host2oder das Windows PowerShell3verwendet Was sind und wie funktionieren Batchprogramme?Batchdateien oder Batchprogramme (h ufig mit Stapelverarbeitungsprogramme oder kurzStapelprogramm bersetzt) sind meist kurze Dateien, die Befehle der Kommandozeile derReihe nach abarbeiten. Batchprogrammierung erf llte die grundlegenden Anforderungenan eine Programmiersprache wie ,if notundwhile. Da Batch sich in den Be-reich Shellscripting einordnen l sst, kann man von einerinterpreterbasierten Skriptsprachereden. Das hei t, dass die im Editor erstellte Textdatei nicht mit einem Compiler4ein-mal in Maschinensprache bersetzt und in einer ausf hrbaren Bin rdatei im*.exeFormatgespeichert, sondern bei jedem Aufruf durch einen Interpreter zur Laufzeit in ein f r denComputer verst ndliches Format bersetzt wird. Ein Texteditor wie MS Notepad, den Win-dows von Haus aus mitbringt, reicht vollkommen aus, um Batchprogramme zu ist speziell f r die Steuerung des Betriebssystems gedacht, f r dieEntwicklung von Anwendungen ist sie nicht geeignet.
6 Hierzu verwendet man Sprachen wieC/C++ und Java (nicht zu verwechseln mit JavaScript!!).1 Nutzung von BatchprogrammenViele wiederkehrende Installations- und Verwaltungsaufgaben, die man traditionell mit Tas-tatur und Maus ausf hrt, lassen sich mit Stapeldateien ausf hren. Hat man gen gend Kom-mentarzeilen in die Batchdatei eingef gt, gen gt der Ausdruck der Stapeldatei meist und Batchdateien sind keine veraltete Technologie. Auf Wunschvieler Systemadministratoren hat Microsoft daf r gesorgt, dass Windows Server 2003 voll-st ndig von der Kommandozeile installiert und administriert werden kann, ohne die Mauszu Begriffe "Stapelprogramm" und "Stapelverarbeitung" r hren aus der Zeit her, als Per-manentspeicher auf Magnetplatten sehr teuer war. Zu dieser Zeit begab man sich mit einemStapel Lochkarten aus Pappe, auf denen sich das Programm und die Daten in gestanzterForm befanden, zum Rechenzentrum und bergab dem Operator seinen Stapel. Die Stapelaller Benutzer wurden gesammelt und dann sequentiell an den Rechner bergeben.
7 Nacheiniger Zeit konnte man sich dann die (meist ausgedruckten) Ergebnisse Wie erstelle ich eine Batchdatei?Wie bereits gesagt, reicht ein einfacher Editor aus. Empfehlen kann man guten Gewissensden quelloffenen und kostenlosen Notepad++5-Editor, als bessere Alternative zu MS DOS bis Windows 98:Speichern Sie dann die Datei mit der Endung*.batab. Anschlie end m ssen Sie nur dieDatei starten: Dies k nnen Sie entweder direkt in Windows oder indem Sie in der Einga-beaufforderung in das entsprechende Verzeichnis wechseln und den Dateinamen Windows NT / 2000 / XP / Vista / 7:F r Windows NT-kompatible Betriebssysteme gibt es seit Windows 2000 auch Batchda-teien mit der Endung*.cmd. Diese werden genau wie Batchdateien mit der Endung*.batverarbeitet bzw. ausgef hrt. Nach allgemeiner Konvention sollte man bei Batchdateienerstellt f r Windows NT die Endung "CMD" w hlen. Die Endung*.cmdwurde urspr ng-lich aus Kompatibilit tsgr nden zu OS/2, einem Betriebssystem, das MS urspr nglich inKooperation mit IBM entwickelte, mit Windows NT eingef Weiterf hrende Informationen und Links Allgemeine Informationen: Wikipedia: batch65 hrende Informationen und Links Infos zur : Wikipedia: Die f rWindows XPverf gbaren Kommandos k nnen auch im Hilfesystem von Win-dows direkt eingesehen werden: START - Hilfe und Support "Befehlszeilenreferenz A-Z" in das Suchfeld eintragen.
8 (F r englisches Windows"Command-line reference A-Z")7 Wichtige DOS-KommandosMan unterscheidet bei Batch-Befehlen grunds tzlich zwischen internen und externen Befeh-len (vergleiche FreeDOS-Kompendium: Befehle1). Interne Befehle sind Bestandteil der Shellselbst, w hrend externe Befehle als eigene Programme vorliegen. Befehle,die interessantf r die Batch-Programmierung sein k nnten, sind im Folgenden assocMit Hilfe dieses Befehls kann man die Dateierweiterungen bearbeiten bzw. anzeigen [.dateiendung[=Dateibeschreibung]] attrib ndert das Dateiattribut. M glich sind "schreibgesch tzt" (+r/-r), "versteckt" (+h/-h),"systemdatei" (+s/-s) und "archiv" (+a/-a) cacls ndert die Rechte (Access Controll List) auf NTFS Partitionen oder zeigt diese *.* /E /T /G Bob:CF gt beispielsweise dem User Bob das Recht " ndern" f r alle Dateien und Ordner imaktuellen und allen Unterordnern !Standardm ig werden Rechte ersetzt! cd / chdir ber dencd- oderchdir-Befehl (change directory) kann das aktuelle Verzeichnis gewechseltwerden.
9 Beachte: Nach dem "cd" folgt ein Leerzeichen, das bei nachfolgendem .. oder \je nach Betriebssystemversion weggelassen werden darf. Wird der Befehl ohne Parameter1 DOS-Kommandosausgef hrt, so wird der Pfad des aktuellen Verzeichnisses Angaben:Die Eingabe von "cd .." wechselt in das n chsth here Verzeichnis ("cd ..\.." zwei Ebenenh her usw.).Die Eingabe von "cd ORDNERNAME" wechselt in den Unterordner Angaben:Die Eingabe von "cd \" wechselt in das Hauptverzeichnis auf dem derzeitig Eingabe von "cd \ORDNERNAME" wechselt absolut in den Ordner ORDNERNAMEauf dem derzeitig befindlichen Eingabe von "LAUFWERKSBUCHSTABE:" (ohne vorangestelltes "cd") wechselt indas aktuelle Verzeichnis des gew hlten Laufwerks Eingabe von "cd LAUFWERKSBUCHSTABE:\ORDNERNAME" wechselt absolut inden Ordner ORDNERNAME auf dem gew hlten Laufwerk von LAUFWERKSBUCHSTA-BE jedoch nicht von einem Laufwerk auf ein mit Leerschl gen (Bsp "C:\program files\") m ssen in Anf hrungs-/Schlusszeichen eingeschlossen Befehl "cd /D % dp0" wechselt in den Ordner des Batch-Skripts.
10 (sinnvoll beiWindows-Doppelklicks)Wildcards:Ist die Pfadangabe eindeutig kann der Ordnername durch Nutzen von Wildcards ( \win*f r \windows oder \winnt) abgek rzt werden. Dies ist jedoch im Batchbetrieb nicht :Pfade von nicht als Laufwerken verbundenen Remotesystemen k nnen (Berechtigungvorausgesetzt) entweder ber die Administrative Freigabe oder durch das Verbin-den eines Netzlaufwerks angesprochen werden. Beispiel f r administrative Freigabe:8comp oder fc\\[computername]\[laufwerk]$\[Weiterer Pfad]Pfad in Variable:Der Befehl "set PFAD=%cd%" schreibt das aktuelle Verzeichnis in die Variable %PFAD%.(als letztes im Batch-Script mit "cd %PFAD%" wieder ins Startverzeichnis wechseln!) comp oder fcVergleicht den Inhalt zweier Dateien und stellt die Unterschiede dar (compare /filecompare). (x)copy/robocopyMit dem Befehlcopyk nnen eine Datei oder mehrere Dateien kopiert die erweiterte Version voncopy, die mehr Optionen bietet. Diese ist nicht in allenWindows-Versionen verf weitaus m chtigererobocopyist ab Vista standardm ig wieder verf gbar, bei Win-dows XP und 2000 fehlt dieses Programm zun chst.