Batch-Skript - Eingabe/Ausgabe
Hallo da draußen, zukünftige Programmierer! Heute tauchen wir ein in die faszinierende Welt der Batch-Skripte und konzentrieren uns auf Eingabe- und Ausgaboperationen. Als dein freundlicher Nachbar-Computerlehrer bin ich aufgeregt, dich auf dieser Reise zu führen. Keine Sorge, wenn du noch nie eine Zeile Code geschrieben hast – wir beginnen bei den Grundlagen und arbeiten uns hinauf. Also, hole dir ein Getränk deiner Wahl und los geht's!
Eingabe und Ausgabe in Batch-Skripten verstehen
Bevor wir ins Detail gehen, lassen wir uns über das Verständnis von Eingabe und Ausgabe im Kontext von Batch-Skripten unterhalten.
- Eingabe ist die Information, die in dein Skript geht. Es ist so, als ob du deinem Programm Daten zuführst.
- Ausgabe ist das, was dein Skript produziert oder anzeigt. Es ist das Ergebnis der Arbeit deines Skripts.
Denke daran wie in einer Küche: Eingabe sind die Zutaten, die du verwendest, und Ausgabe ist das leckere Gericht, das du herstellst!
Grundlegende Eingabe: Der SET /P Befehl
Lassen wir mit der am häufigsten verwendeten Methode zur Eingabe in Batch-Skripten beginnen: der SET /P Befehl. Dieser Befehl ermöglicht es uns, den Benutzer um Eingabe zu bitten und sie in einer Variablen zu speichern.
@echo off
SET /P name=Wie ist dein Name?
echo Hallo, %name%! Willkommen in der Welt der Batch-Skripte!
pause
In diesem Beispiel:
-
@echo off
verhindert, dass die Befehle auf dem Bildschirm angezeigt werden. -
SET /P name=Wie ist dein Name?
bittet den Benutzer, seinen Namen einzugeben und speichert ihn in der Variablenname
. -
echo Hallo, %name%!
zeigt eine Begrüßung mit dem eingegebenen Namen an. -
pause
hält das Fenster offen, sodass du das Ergebnis sehen kannst.
Versuche, dieses Skript auszuführen. Es ist, als hättest du ein kleines Gespräch mit deinem Computer!
Grundlegende Ausgabe: Der ECHO Befehl
Wir haben den ECHO-Befehl bereits in Aktion gesehen. Es ist die primäre Methode zur Anzeige von Ausgabe in Batch-Skripten. Lassen wir uns ein bisschen näher damit beschäftigen:
@echo off
echo Dies ist eine einfache Ausgabe.
echo.
echo Diese Zeile hat eine leere Zeile darüber.
echo "Anführungsstriche" werden如此 angezeigt.
echo.
echo Aktueller Termin: %date%
echo Aktuelle Uhrzeit: %time%
pause
Hier ist, was passiert:
-
echo.
gibt eine leere Zeile aus. - Wir können ECHO verwenden, um Text, Variablen und sogar Systeminformationen wie Datum und Uhrzeit anzuzeigen.
Ausgabe umleiten (Stdout und Stderr)
Nun sprechen wir über das Umleiten von Ausgabe. In Batch-Skripten haben wir zwei Hauptarten von Ausgabe:
- Standard Output (stdout): Die normale Ausgabe eines Befehls.
- Standard Error (stderr): Fehlermeldungen oder diagnostische Ausgaben.
Wir können diese Ausgaben in Dateien umleiten, indem wir die Operatoren >
und >>
verwenden.
Standard Output umleiten
@echo off
echo Dies wird in eine Datei gespeichert > output.txt
echo Dies wird der Datei hinzugefügt >> output.txt
type output.txt
pause
In diesem Skript:
-
>
erstellt (oder überschreibt) eine Datei und schreibt die Ausgabe hinein. -
>>
fügt die Ausgabe zu einer vorhandenen Datei hinzu (oder erstellt sie, wenn sie nicht existiert). -
type output.txt
zeigt den Inhalt der Datei an.
Standard Error umleiten
Um Fehlermeldungen umzuleiten, verwenden wir 2>
anstelle von >
.
@echo off
dir nicht_existierender_ordner 2> error.txt
type error.txt
pause
Dieses Skript versucht, einen nicht existierenden Ordner aufzulisten und leitet die Fehlermeldung in eine Datei um.
Both Stdout und Stderr umleiten
Wir können beide Arten von Ausgabe in dieselbe Datei umleiten:
@echo off
dir 2>&1 > output.txt
type output.txt
pause
Hier bedeutet 2>&1
, dass "stderr an dieselbe Stelle umgeleitet wird wie stdout".
Programmausgabe unterdrücken
Manchmal möchtest du einen Befehl ausführen, ohne seine Ausgabe anzuzeigen. Wir können dies erreichen, indem wir die Ausgabe in ein spezielles Gerät namens NUL umleiten.
@echo off
echo Dies wird angezeigt
echo Dies wird nicht angezeigt > NUL
dir > NUL
echo Die Verzeichnisliste wurde unterdrückt
pause
In diesem Skript werden die Ausgabe des zweiten ECHO-Befehls und des DIR-Befehls unterdrückt.
Erweiterte Eingabe/Ausgabetechniken
Nun, da wir die Grundlagen abgedeckt haben, werfen wir einen Blick auf einige fortgeschrittene Techniken.
Verwenden von CHOICE für Benutzer-Eingabe
Der CHOICE-Befehl bietet eine strukturierte Methode zur Benutzer-Eingabe:
@echo off
echo Magst du Programmieren?
choice /c YN /m "Gib Y für Ja oder N für Nein ein"
if errorlevel 2 goto Nein
if errorlevel 1 goto Ja
:Ja
echo toll! Lass uns mehr lernen!
goto End
:Nein
echo Keine Sorge, du wirst es bald lieben!
:End
pause
Dieses Skript:
- Stellt dem Benutzer eine Ja/Nein-Frage.
- Verwendet
/c YN
, um die gültigen Auswahlmöglichkeiten (Y oder N) festzulegen. - Verwendet
/m
, um eine benutzerdefinierte Nachricht anzuzeigen. - Verwendet
if errorlevel
, um die Benutzerwahl zu überprüfen und zu der entsprechenden Marke zu springen.
Aus einer Datei lesen
Wir können auch Eingaben aus einer Datei lesen:
@echo off
for /f "delims=" %%a in (input.txt) do (
echo Gelesene Zeile: %%a
)
pause
Dieses Skript liest jede Zeile aus input.txt
und zeigt sie an.
In mehrere Dateien schreiben
Lassen wir uns ein Skript erstellen, das in mehrere Dateien schreibt:
@echo off
echo Datei 1 Inhalt > file1.txt
echo Datei 2 Inhalt > file2.txt
echo Datei 3 Inhalt > file3.txt
echo Dateien erfolgreich erstellt!
pause
Dies erstellt drei separate Dateien mit unterschiedlichem Inhalt.
Zusammenfassung der Eingabe/Ausgabemethoden
Lassen wir uns die Eingabe/Ausgabemethoden, die wir gelernt haben, in einer praktischen Tabelle zusammenfassen:
Methode | Beschreibung | Beispiel |
---|---|---|
SET /P | Benutzer-Eingabe erhalten | SET /P name=Name eingeben: |
ECHO | Ausgabe anzeigen | echo Hallo, Welt! |
> | Ausgabe in Datei umleiten | echo Text > datei.txt |
>> | Ausgabe an Datei anhängen | echo Mehr Text >> datei.txt |
2> | Fehlerausgabe umleiten | command 2> fehler.txt |
2>&1 | Sowohl stdout als auch stderr umleiten | command > ausgabe.txt 2>&1 |
NUL | Ausgabe unterdrücken | command > NUL |
CHOICE | Strukturierte Benutzer-Eingabe | choice /c YN /m "Ja oder Nein?" |
FOR /F | Aus Datei lesen | for /f "delims=" %%a in (datei.txt) do ... |
Und dort hast du es, Leute! Wir sind durch die Länder der Batch-Skript-Eingabe und -Ausgabe gereist. Denke daran, der Schlüssel zum Beherrschen dieser Konzepte ist die Übung. Versuche, deine eigenen Skripte zu schreiben, experimentiere mit verschiedenen Befehlen und fürchte nicht, Fehler zu machen - das ist, wie wir lernen!
Wie dein alter Computerlehrer immer sagt: "In der Programmierung ist jeder Fehler eine neue verkleidete Lerngelegenheit." Also, los geht's, schreibe einige Batch-Skripte und möge deine Ausgaben stets so intendiert sein, wie du es dir wünscht!
Credits: Image by storyset