Batch, CMD Scripting Grundlagen unter Windows Tutorial Teil2 - CMD Befehle Übersicht

Erstellen und entfernen von Ordnern und Dateien

Nach dem wir nun im ersten Teil „Batch, CMD Scripting Grundlagen unter Windows Tutorial Teil1“ bereits einen Wichtigen Schritt nach vorne gemacht haben, beschäftigen wir uns nun mit der Erstellung von Dateien und Ordnern, und der Verwendung von Umgebungsvariablen in der CMD Konsole.

Wir verwenden zur Erstellung unseres ersten Ordners, die bereits im ersten Teil erstellte Ordnerstruktur. Der Befehl zur Erstellung eines Ordners bzw. Verzeichnisses heißt mkdir oder md.

Es empfiehlt sich immer die genaue Verwendung eines Befehls abzufragen, wir machen das wie bei den anderen Befehlen auch mit dem Parameter /?
Bei der Ausgabe der Hilfe des Befehls für mkdir, erhält man zudem den Hinweis dass der Befehl anders reagiert wenn man die Befehlserweiterungen aktiviert hat.
Diesen Hinweis bekommt man relativ oft angezeigt, und zeigt uns dass der Befehl schon unter alten Betriebssystemen verfügbar war, aber unter aktuellen Systemen hat sich die Funktionsweise des Befehl etwas verändert.

Hinweis:
Damit Scripts die unter alten Systemen ohne Anpassung weiter laufen, kann man auf neueren Betriebssystemen die Befehlserweiterung  ausschalten. Die Befehlszeilenerweiterung kann man temporär mit folgendem Befehl ausschalten.

Um die Befehlszeilenerweiterung generell auszuschalten, kann man in der Registry unter folgendem Schlüssel :

Dem Key EnableExtension vonm Typ REG_DWORD den Wert 0 geben.
Die Befehlszeilenerweiterung kann dann temporär mit

eingeschaltet werden.

Abb1

Ordner \ Verzeichnis erstellen

Zurück bei unserem Befehl mkdir interessiert uns im Moment aber nur die in Abb1 angezeigten Parameter.
Wir sehen dass der Befehl auf jeden Fall eine Pfadangabe möchte und optional auch eine Laufwerk.

Ich möchte jetzt in unserem Ordner C:\Test einen weiteren Ordner TestC anlegen, einen Ordner Namens TestA und TestB gibt es ja schon.
Wir können das jetzt von jeder beliebigen Stelle aus der Konsole mit folgendem Befehl machen:

Oder wir wechseln erst mit dem Befehl cd in der Ordner C:\Test und verwenden dann den Befehl mkdir:

Sollte der Befehl nicht ordnungsgemäß ausgeführt worden sein, wird ein Fehler zurückgegeben, andernfalls nichts.
Als Beispiel habe ich den Befehl doppelt ausgeführt um die Ausgabe bei einem Fehler zu zeigen, man kann das ohne Angst tun, der Umgang mit Fehlermeldungen oder Rückmeldungen von Befehlen ist wichtig um Probleme beim Scripting zu lössen.

Wenn ich mir nun den Inhalt des Ordners C:\Test anzeigen lasse, kann ich sofort sehen dass der Befehl fehlschlägt da der Ordner TestC bereits existiert.

 

 

 

 

 

Dateien erstellen

Möchte man eine leere Datei oder Dateien mit einem Inhalt erstellen, gibt es mehrere Möglichkeiten.
Eine der Möglichkeiten ist die Verwendung des type Befehls und eines sogenannten Umleitungsoperators>“.
Der type Befehl wird verwendet um Dateiinhalte auszugeben, der Umleitungsoperator wird verwendet um die Ausgabe eines Befehls in eine Datei umzuleiten.

Möchte man eine schon vorhandene Datei kopieren, verwendet man den copy, xcopy oder robocopy Befehl. Dies ist momentan aber nicht der Fall und dient nur dazu Missverständnisse auszuschließen.
Vielleicht gehen wir später im Detail auf diese Befehle ein.

Ich möchte nun eine leere Datei erstellen . Normalerweise  würde der Type Befehl als Parameter einen Dateinamen erwarten den er einlesen und ausgeben kann. Die Ausgabe würde in der Konsole erfolgen.
Wir bedienen uns nun aber einer speziellen Funktion namens „nul“. Wie der Name schon sagt, handelt es sich um „Nichts oder Null“ und wird oft verwendet die Ausgabe von Befehlen zu unterdrücken.

Wir lesen mit type die Datei nul , welche es nicht gibt und keinen Inhalt hat ein, und leiten die Ausgabe mit dem Umleitungsoperator > in die Datei C:\Test\MeineDatei.txt um.
Im Explorer oder durch Eingabe von dir C:\Test, sollten wir die Datei MeineDatei.txt sehen.

Möchten wir uns nun den Dateiinhalt der soeben erstellen Datei in der Konsole ansehen, können wir den uns bekannten Befehl type wieder anwenden.

lediglich die Ausgabe ist etwas langweilig denn wir haben ja eine leere Datei erstellt.
Zu Anzeige von selbst definierten Meldungen in der Konsole verwenden wir den Befehl echo. Wir möchten echo verwenden um diesmal keine leere Datei zu erstellen sondern eine mit einem Text.
Schaut euch die Hilfe zu dem Befehl an und testet die Funktion einmal durch Eingabe von z.B.

Abb2

Die Ausgabe sollte in etwa so aussehen wie in Bild Abb2.
Der Text der hinter echo eingegeben wird, wird also direkt wieder ausgegeben. Da wir den Umleitungsoperator > ja bereits kennen gelernt haben, wissen wir dass wir die Konsolenausgabe auch in eine Datei umleiten können.
Wir verwenden also folgenden Befehl:

Und haben eine Datei mit dem Inhalt Hallo erstellt. Überprüfe den Inhalt durch Doppelklick auf die Datei oder durch erneute Eingabe des Befehls:

Versuche einmal z.B. folgenden Befehl um die Verwendung des Umleitungsoperators besser zu verstehen:

Und überprüfe jetzt den Inhalt der Datei C:\Test\MeineDatei.txt.
Wenn man nicht möchte dass die Datei jedes Mal neu erstellt wird, sondern das der Text an das Ende des schon vorhandenen Textes in der Datei angehängt wird, kann folgenden Operator verwenden: >>
Wir wandeln unser kleines Beispiel ein wenig um und verwenden 3 Mal hintereinander folgenden Befehl:

Öffnen wir jetzt die Datei, können wir sehen dass der Text in der Datei jedes Mal angehängt wird.

Es wird nich jedes Mal eine neue Datei erstellt.

Hinweis:
Die bereits verwendeten Befehle muss man nicht immer wieder neu eintippen.
Verwende auf der Tastatur die Tasten Pfeil hoch oder Pfeil runter um die Bereits eingegebenen Befehle anzuzeigen.

Ordner \ Verzeichnis \ Dateien löschen

Wir sorgen jetzt dafür das wir uns jetzt im Ordner C:\Test befinden, und verwenden dazu den Befehl:

Achtet darauf dass wir uns wirklich in diesem Verzeichnis befinden denn ich möchte für die folgenden Befehle nicht immer die lange Adressierung ausgehend vom Wurzelverzeichnis verwenden, sondern die kurze.

Ich möchte den erstellen Ordner TestC jetzt per Kommandozeile wieder löschen.  Der Befehl zum löschen heißt rm oder rmdir. Wie immer bei unbekannten Befehlen schauen wir uns die Hilfe mit /? an, um die Funktionsweits des Befehls zu verstehen.

Ich werde nicht auf jeden Parameter und Schalter der Hilfe eingehen, da diese recht verständlich erklärt sind. Es empfiehlt sich diese Schalter einfach in einer Testumgebung zu testen wenn man sich nicht ganz sicher ist.
Wir sehen in der Hilfe dass wir ein Laufwerk ganz einfach mit rd [Laufwerk:]Pfad löschen können, und da wir uns ja schon in dem Verzeichnis befinden in welchem auch das zu löschende Verzeichnis TestC ist, können wir auf die Angabe des Laufwerks verzichten. Unser Befehl lautet also:

Würden sich in unserem Verzeichnis TestC noch weitere Ordner oder Dateien befinden, müssten wir den Schalter /S verwenden um das Verzeichnis mit allen Unterverzeichnissen zu löschen.

Der Befehl zum Entfernen von Dateien heißt del oder erase.
Wobei del der gebräuchlichere von beiden ist.
Mit folgendem Befehl können wir also unsere Datei C:\Test\MeineDatei.txt löschen (Vorausgesetzt wir befinden uns im Ordner C:\Test):

oder von überall:

Schaut euch auch die anderen Parameter des del Befehls an.

Übungen

Üben ist das wichtigste um die Funktionsweise zu verstehen, testet die Befehle und versuche einmal mehrere Ordner einzeln zu erstellen oder mehrere Ordner mit nur einem Befehl zu erstellen und dann wieder zu löschen. Probiere verschiedene Schalter aus die die Befehlshilfe anzeigt. Navigiere mit der Konsole durch die Ordner und erstelle Dateien und lass diese Anzeigen oder lösche diese wieder.

Ende Teil 2

Teile:
Batch, CMD Scripting Grundlagen unter Windows Tutorial Teil1
Batch, CMD Scripting Grundlagen unter Windows Tutorial Teil2
Batch, CMD Scripting Grundlagen unter Windows Tutorial Teil3
Batch, CMD Scripting Grundlagen unter Windows Tutorial Teil4

 

Beitrag kommentieren

Bitte verfasse einen Kommentar.

Dein Kommentar wird vor der Freischaltung von einem Admin moderiert.