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!

Batch Script - Strings

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