Kleines Batch-Tutorial

 

 

 

Eine Batch-Datei erstellen

 

Eine Batch Datei erstellt man indem man ein Textdokument (.txt) öffnet und

sie dann mit der Endung .bat oder .cmd (Stapelverarbeitung) abspeichert.
Wenn bei ihnen die Dateierweiterungen ausgestellt sind können sie sie

einfach oben in einem Ordner in Extras > Ordneroptionen > Ansicht

(machen sie da den Pfeil bei Dateierweiterungen bei bekannten Dateitypen

weg) einstellen.

Das erste Programm

Das erste Programm was fast jeder Programmierer erstellt hat war das

Programm "Hello World". Deswegen will ich auch in diesem Tutorial damit

anfangen.
Öffnen sie eine Textdatei und schreiben sie folgendes hinein:

@Echo off
echo Hello world
pause

speichern sie nun die Textdatei als .bat oder .cmd ab.
Klicken sie hinauf und sie müssten dies hier sehen:



Dies ist zwar ein soweit simples Programm aber man kann trotzdem

daraus einiges lernen. Ich erkläre erst was es mit dem @Echo off

auf sich hat. Es gibt verschiedene Arten von Echos, sie zeigen an ob

Befehle im fertigen Programm, angezeigt werden sollen oder nicht.

@Echo off = Befehle werden ausgeblendet
Echo on = Befehle werden angezeigt
Echo nicht angeben = Befehle werden angezeigt

Zum zweiten erkläre ich den einfachen Begriff "echo"
alles was hinter dem Befehl Echo steht wird im Eingabe Fenster angezeigt.
Einen Zeilenumbruch macht man mit "echo."

Der Befehl "pause" hält das Programm an und wartet auf eine Reaktion  

(Tastendruck) des Benutzers.

 

 

 

Kopierprogramm

Das zweite Programm das ich vorführe ist ein Kopierprogramm es soll bei

einem Tastendruck des Benutzers, die Daten eines Ordners in einen

ausgesuchten anderen kopieren. Dazu benutzen wir den Befehl "xcopy".

Das erstellte Programm sollte jetzt so aussehen:

@Echo off
echo Wollen sie wirklich die Dateien in C:\Dokumente nach

echo E:\Dokumente kopieren?
echo.
echo.
pause
xcopy C:\Dokumente E:\Dokumente
;exit

Der erste Pfad hinter xcopy zeit den Quellpfad an der hintere den Zielpfad.
Dabei ist darauf zu achten, das wenn ein Pfad Leerzeichen in sich enthält

in Anführungszeichen gesetzt werden muss.

Das würde dann z.B so aussehen:

xcopy "C:\Dokumente und Einstellungen" E:\Dokumente

Alternativ zu xcopy = kopieren kann auch move = verschieben eingesetzt

werden.

Dann haben wir in diesem Programm noch einen weiteren Unbekannten

Befehl nämlich den ";exit" Befehl. Der ";exit" Befehl sorgt dafür dass das

Programm beendet wird

 



Computer im Netzwerk anzeigen

Da sich die Batch- Programmierung zum großen Teil um das Netzwerk

dreht, will ich hier den ersten Netzwerk Befehl vorstellen.

@Echo off
echo Alle Computer im Netzwerk anzeigen?
pause
net view
pause

Zu beachten ist das vor jedem Befehl der sich auf das Netzwerk bezieht ein

"net" steht.

Das Programm müsste ihnen jetzt alle Computer in ihrer Arbeitsgruppe

anzeigen.

Da diese Anzeige aber nicht versichert dass die Computer auch

miteinander kommunizieren können, gibt es noch einen weiteren

Befehl um dies zu versichern.

Bei diesem Befehl gibt es allerdings kein "net"!

@Echo off
echo Computer anpingen?
pause
ping [ip]
pause
cls

Dieses Programm versucht die angegebene ip anzupingen.
Für [ip] wird eine ip von einem Computer im Netzwerk angegeben wie

z.B 192.168.0.1.






Ach ein nützlicher Tipp wenn es ihnen beim anpingen zu lange dauert

können sie mit -n (Zeit) also z.B -n 3 (Zeit in Sekunden)
die Zeit verlängern oder verkürzen inder er versucht den PC anzupingen. 

 

Tipp: Diese Funktion kann man auchals Pause nutzen, z.B. wenn man ping localhost -n 3 >nul

eingibt. Dann wird 3 Sekunden gewartet, bevor fortgefahren wird. Was dieses ">nul" bedeutet, wird später noch erklärt.

 

 PC herunterfahren

Ein sehr beliebter Befehl um Freunde zu veräppeln ist der

Batch- Befehl der den Computer herunterfährt oder neu zu starten.

Befehl um PC herunterzufahren:

shutdown -s -c "Kommentar" -t 300

-s gibt den Befehl zum herunterfahren
-c bei -c kann ein Kommentar eingefügt werden


Achtung! Bei Kommentaren mit Leerzeichen ist der Kommentar
 in Anführungszeichen zu fassen(")!


-t gibt die Zeit in Sekunden an in der der PC heruntergefahren werden wird

Befehl zum neu starten

shutdown -r -t 300

- r gibt den Befehl zum neu starten
- t Zeitangabe in Sekunden

Falls der verärgerte Freund sich aber rächen will und ihnen seinerseits die

gleiche Datei zukommen lässt ist das kein Problem den mit einer kleinen

Batch- Datei lässt sich die Batch zum herunterfahren abbrechen.

Der Befehl lautet:

shutdown -a

Endlosschleifen



In diesem Teil lernen sie wie sie anderen Rechnern im Netzwerk Endlosschleifen von Nachrichten schicken können.

Ein Tipp zum Anfang den Nachrichtendienst können sie unter:
Systensteuerungen > Verwaltung > Dienste > Nachrichtendienst ein und aus stellen.

Hier für unerfahrene PC- Benutzer ein sehr gemeines Programm:

@echo off
:start
net send (Computername oder ip) hallo
goto start

Der Befehl zum Nachrichtenversenden ist "net send (Computername oder IP) (Nachricht)"

Ein Beispiel:

net send 192.168.0.1 hallo

Mit ":(Name)" setzt man eine Sprungmarke, zu der man per goto

((name) ohne :) springen kann.


Datei ohne Sicherheitsfrage löschen


Der Code dafür lautet:

Del "Pfad"

In die Anführungszeichen wird der Pfad der zu löschenden Datei geschrieben.

Del ist der Befehl um eine Datei zu löschen es gibt noch andere Befehle die das gleiche Ergebnis liefern aber ich benutze diesen Befehl.

Um eine Meldung anzuzeigen, das die Datei wirklich gelöscht wurde ergänzt man den Code um:
(löscht auch alle Dateien in Unterverzeichnissen und Systemdateien)

/S
also:

Del /S "Pfad"

mit
/P
müssen sie das löschen erst bestätigen bevor fortgefahren wird

mit
/F
löschen sie sogar schreibgeschützte Dateien

mit
/H
löschen sie auch versteckte Dateien

Variablen

 

Variablen sind sozusagen Abkürzungen für einen bestimmten Wert. Eine Zeichenkette hat dann einen Wert. Das kann man dem Computer beibringen. Die wichtigsten Befehle sind:

 

set var=Das ist der Wert der Variable (das ist das gleiche wie, z.B. set /a, set "...=...")

 

:: Damit fügt man einer Variable einen Wert zu

 

set /p var=Bitte geben sie den Wert der Variable ein!

 

:: Damit wird die Eingabe vom User als Variable gesetzt (wenn der User jetzt "Hallo" eingibt, ist der Wert der Variable=Hallo)

 

:: Um eine Variable zu verwenden, muss man sie immer in ""-Zeichen setzen.

 

echo %var% :: Gibt die Variable var aus.

 

:: Man kann mit Variablen auch rechnen, z.B. als Rundenzähler

 

Beispiel:

 

set counter=0

set counter=counter+1

echo Runde %counter%

pause

 

Die Rechenzeichen sind *; /; +; -; man verwendet sie wie oben gezeigt. Wichtig: Wenn man mit Variablen rechnet, muss man die %-Zeichen weglassen und man muss die Variablen, mit denen man rechnen will, vorher auf eine Zahl (0-...) setzen.

 

If-Stringvergleiche

 

Mit If-Abfragen kann man zwei Strings vergleichen und dann eine Funktion ausführen. Das geht

so:

 

Beispiel:

 

:start //Hier ist die Sprungmarke "start"

 

set /p pa=Passwort: //Hier wird das Passwort abgefragt

 

if "%pa%"=="Passwort" goto drin // Falls die Variable "pa" den Wert "Passwort" hat, gehe zu "drin".

if not "%pa%"=="Passwort" goto start //Falls das Passwort nicht "Passwort" ist, gehe zu start.

 

Statt den beiden =-Zeichen kann man auch anderes einsetzen:

 

EQU ist gleich
NEQ nicht gleich
LSS kleiner als
LEQ kleiner als oder gleich
GTR größer als
GEQ größer als oder gleich

 

Es gibt auch noch viele andere Arten von If-Abfragen, z.B. "if exist...", das testet ob eine Datei existiert.

Zusatzbefehle

 

">nul" leitet die Ausgabe ins nul (Nirvana, Nichts) um. Das Zeichen ">" leitet immer die Ausgabe um, z.B.

 

echo Das wird nun gedruckt > print

 

oder

 

echo Das wird nun in eine Datei geschrieben > "Pfad, z.B. C:\Test.txt"

 

Der "cls"-Befehl leert den Bildschirm, so das nichts mehr angezeigt wird.

 

 

 

Das war es erstmal mit dem Batchtutorial. Wenn sie noch Fragen haben, können sie uns über die Rubrik "Über uns", "bzw über Entwickler/Fragen" kontaktieren, bzw. in der Konsole "help" eingeben.

Aktuelle Informationen:
Herzlich Willkommen auf unserer Seite! +++ Einen schönen Sommer wünscht ihnen das Sourcecode-Team +++
Bitte warten...