Batch-Prüfung auf leere Variablen
Dieser Artikel veranschaulicht, wie wir testen können, ob eine Variable gesetzt ist. Mit der if
-Anweisung können wir prüfen, ob eine Variable definiert wurde.
Überprüfen Sie, ob die Variable im Batch leer ist
Für einen einfacheren Kontext beginnen wir mit der Definition von zwei Strings, d. h. str1
und str2
. Unser erster String ist leer (nicht definiert), während der zweite String Werte hat (nicht leer).
Hier ist das Skript, das wir verwenden werden.
@echo off
set str1=
set str2=Delft
::using the if statement, we will check whether str1 is an empty string.
if [%str1%]==[] echo "str1 is an empty string"
if [%str2%]==[] echo "str2 is an empty string"
pause
- Wir haben
set
verwendet, um unseren Eingabestring zu erhalten, wobeistr1
keinen Wert hat, währendstr2
den WertDelft
hat. - Wir verwenden dann die
if
-Anweisung, um zu testen, ob unsere Strings leer sind.
Beachten Sie, dass wir keine Klammern verwenden, da sie unsicher sind. Stattdessen verwenden wir eckige Klammern.
Normalerweise verwenden wir einen doppelten Doppelpunkt ::
, um einen Kommentar in Batch-Skripten hinzuzufügen. Die pause
am Ende hält das CMD-Fenster an, bis wir eine Taste drücken.
Das @echo off
weist die Eingabeaufforderung an, den in der Batch-Datei enthaltenen Befehl, einschließlich sich selbst, nicht anzuzeigen.
Unten ist die Ausgabe unseres Batch-Skripts.
Wie erwartet ist unser erster String leer.
Kurz gesagt können wir mit der if
-Anweisung prüfen, ob Strings oder Variablen gesetzt bzw. definiert sind. Denken Sie daran, eckige Klammern anstelle von runden Klammern oder doppelten Anführungszeichen zu verwenden.
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn