Batch-Skript - Zeichenketten
Einführung in Zeichenketten in Batch-Skripten
Hallo, angehende Programmierer! Heute tauchen wir ein in die wunderbare Welt der Zeichenketten in Batch-Skripten. Als dein freundlicher Nachbarschafts-EDV-Lehrer freue ich mich darauf, dich auf dieser Reise zu führen. Keine Sorge, wenn du noch nie eine Zeile Code geschrieben hast – wir fangen ganz am Anfang an!
Eine Zeichenkette ist in einfacher Sprache eine Abfolge von Zeichen. Das könnte ein Wort, ein Satz oder sogar ein ganzer Absatz sein. In Batch-Skripten verwenden wir Zeichenketten ständig, um Nachrichten anzuzeigen, Informationen zu speichern und Text zu manipulieren.
Grundlegende Zeichenkettenoperationen
Anzeigen von Zeichenketten
Lassen Sie uns mit der einfachsten Operation beginnen – das Anzeigen einer Zeichenkette. In Batch verwenden wir den Befehl echo
dafür.
@echo off
echo Hello, World!
pause
Speichere dies als hello.bat
und führe es aus. Du wirst "Hello, World!" auf deinem Bildschirm sehen. @echo off
am Anfang ist eine gute Praxis, um die Ausgabe deines Skripts sauber zu halten, und pause
am Ende hält das Fenster geöffnet, sodass du das Ergebnis sehen kannst.
Speichern von Zeichenketten in Variablen
Nun speichern wir unsere Zeichenkette in einer Variable:
@echo off
set message=Hello, Batch scripting!
echo %message%
pause
Hier verwenden wir den Befehl set
, um unsere Zeichenkette in einer Variable namens message
zu speichern. Um die Variable zu verwenden, umgeben wir sie mit Prozentzeichen.
Zeichenkettenverkettung
Das Zusammenfügen von Zeichenketten (Verkettung) ist eine häufige Operation. In Batch ist es så einfach wie das Nebeneinanderstellen:
@echo off
set firstName=John
set lastName=Doe
set fullName=%firstName% %lastName%
echo Full name: %fullName%
pause
Dieses Skript gibt "Full name: John Doe" aus. Beachte, wie wir ein Leerzeichen zwischen %firstName%
und %lastName%
hinzugefügt haben, um sie zu trennen.
Arbeiten mit Benutzereingaben
Machen wir unsere Skripte interaktiv, indem wir Eingaben vom Benutzer erhalten:
@echo off
set /p name=What's your name?
echo Nice to meet you, %name%!
pause
Der Schalter /p
mit set
ermöglicht es uns, den Benutzer um eine Eingabe zu bitten. Probiere dieses Skript aus und gebe deinen Namen ein!
Zeichenkettenmanipulation
Extrahieren von Teilzeichenketten
Batch ermöglicht es uns, Teile einer Zeichenkette mit der Syntax %variable:~start,length%
zu extrahieren:
@echo off
set message=Hello, World!
echo %message:~0,5%
echo %message:~7,5%
pause
Dies gibt aus:
Hello
World
Die erste echo
-Anweisung extrahiert Zeichen von Position 0 bis 5, und die zweite von Position 7 bis 5 Zeichen danach.
Ersetzen von Zeichenketten
Wir können auch Teile einer Zeichenkette ersetzen:
@echo off
set phrase=The quick brown fox jumps over the lazy dog
echo %phrase:fox=cat%
pause
Dies ersetzt "fox" durch "cat" in unserer Phrase.
Erweiterte Zeichenkettenoperationen
Zeichenkettenlänge
Batch hat keine integrierte Funktion zur Bestimmung der Zeichenkettenlänge, aber wir können einen cleveren Umweg verwenden:
@echo off
set string=Hello, World!
call :strLen string strlen
echo The length of "%string%" is %strlen%
pause
goto :eof
:strLen
setlocal enabledelayedexpansion
set "s=!%~1!"
set "len=0"
for %%N in (4096 2048 1024 512 256 128 64 32 16 8 4 2 1) do (
if "!s:~%%N,1!" neq "" (
set /a "len+=%%N"
set "s=!s:~%%N!"
)
)
endlocal & set %~2=%len%
goto :eof
Dieses Skript definiert eine Funktion :strLen
, die die Länge einer Zeichenkette berechnet. Es ist ein bisschen komplex, aber es zeigt, wie wir mächtige Werkzeuge in Batch erstellen können.
Groß- und Kleinschreibung
Batch hat keine integrierte Umwandlung von Groß- und Kleinschreibung, aber wir können den Befehl for
mit der Option /L
verwenden, um dies zu erreichen:
@echo off
set string=Hello, World!
call :toUpper string result
echo Upper case: %result%
call :toLower string result
echo Lower case: %result%
pause
goto :eof
:toUpper
for %%a in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do call set %2=%%%2:%%a=%%a%%%
goto :eof
:toLower
for %%a in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do call set %2=%%%2:%%A=%%a%%%
goto :eof
Dieses Skript definiert zwei Funktionen: :toUpper
und :toLower
zur Umwandlung der Groß- und Kleinschreibung.
Schlussfolgerung
Glückwunsch! Du hast die ersten Schritte in die Welt der Zeichenkettenmanipulation in Batch-Skripten unternommen. Denke daran, Übung macht den Meister, also habe keine Angst, mit diesen Konzepten zu experimentieren. Versuche, verschiedene Techniken, die wir heute gelernt haben, zu kombinieren, um deine eigenen einzigartigen Skripte zu erstellen.
Als wir schließen, hier ist eine Tabelle, die die Zeichenkettenoperationen zusammenfasst, die wir behandelt haben:
Operation | Syntax | Beispiel |
---|---|---|
Zeichenkette anzeigen | echo string |
echo Hello, World! |
Zeichenkette speichern | set variable=string |
set message=Hello |
Verkettung | set result=%string1% %string2% |
set fullName=%firstName% %lastName% |
Benutzereingabe | set /p variable=prompt |
set /p name=What's your name? |
Teilzeichenkette extrahieren | %variable:~start,length% |
%message:~0,5% |
Zeichenkette ersetzen | %variable:old=new% |
%phrase:fox=cat% |
Weiterschreiben, weiterlernen und vor allem: Spaß haben beim Batch-Skripten!
Credits: Image by storyset