BATCH - IF Variable leer set Variable
Hallo,
ich will überprüfen ob eine variable leer ist und wen das der fall ist in die Variable einen String schreiben
doch irgendwie funktioniert das nicht, kann mir wer helfen?
Gruß
borsti87
ich will überprüfen ob eine variable leer ist und wen das der fall ist in die Variable einen String schreiben
IF "%TITLE% "=="" set TITLE=Unbenannt
doch irgendwie funktioniert das nicht, kann mir wer helfen?
Gruß
borsti87
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 119553
Url: https://administrator.de/forum/batch-if-variable-leer-set-variable-119553.html
Ausgedruckt am: 13.04.2025 um 12:04 Uhr
8 Kommentare
Neuester Kommentar
noch einfacher ist es, indem man immer einen festen buchstaben an variablen anbindet. Dann lässt sich auch einfach prüfen ob sie leer ist; denn dann ist nur der Buchstabe da
Beispiel:
In dieser batch wirst du normalerweise nie auf nicht ok kommen
Beispiel:
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
set /p test =
if X%test%X == X%test%X (
Echo ok
goto eof
) else (
Echo nicht ok
)
:eof
In dieser batch wirst du normalerweise nie auf nicht ok kommen
@Snowman25
und auch diese Schreibweise finde ich nicht einfacher als das von miniversum vorgeschlagene
Grüße
bastla
In dieser batch wirst du normalerweise nie auf nicht ok kommen
... weil die Zeile 2 so ziemlich sinnfrei ist - gemeint war wohl:if not X%test%X==XX (
if not defined TITEL ...
bastla
@bastla
Wobei ich, um Deine harte Aussage ...
Die Zeile 1 ist noch viel sinnfreier.
a) Ein "Set /p test =" wartet nach Start des Batches ...ohne dass der Batch-Starter irgendwie den Grund erkennen kann.
Wenn es ein unbefangener Anwender ist, drückt er nach geraumer Zeit irgendeine Taste, um zu sehen, ob der Computer noch reagiert.
Wenn es ein erfahrener Windows-Anwender ist, dann drückt er sofort Strg-Alt-Entf und erlebt nie, wie der Batch weitergeht.
b) Falls wir den 3%-Wahrscheinlichkeitsfall haben, dass tatsächlich nur ENTER gedrückt wurde...
Okay, dann ist jetzt die Variable "%test %" [mit Leerzeichen am Ende] un-definiert. aber die wird ja nie geprüft...
Grüße
Biber
P.S. Weiter als bis Zeile 2 habe ich aber auch noch nicht gelesen... ich musste so lachen...
Wobei ich, um Deine harte Aussage ...
... weil die Zeile 2 so ziemlich sinnfrei ist
etwas abzumildern, noch ergänzen möchte:Die Zeile 1 ist noch viel sinnfreier.
a) Ein "Set /p test =" wartet nach Start des Batches ...ohne dass der Batch-Starter irgendwie den Grund erkennen kann.
Wenn es ein unbefangener Anwender ist, drückt er nach geraumer Zeit irgendeine Taste, um zu sehen, ob der Computer noch reagiert.
Wenn es ein erfahrener Windows-Anwender ist, dann drückt er sofort Strg-Alt-Entf und erlebt nie, wie der Batch weitergeht.
b) Falls wir den 3%-Wahrscheinlichkeitsfall haben, dass tatsächlich nur ENTER gedrückt wurde...
Okay, dann ist jetzt die Variable "%test %" [mit Leerzeichen am Ende] un-definiert. aber die wird ja nie geprüft...
Grüße
Biber
P.S. Weiter als bis Zeile 2 habe ich aber auch noch nicht gelesen... ich musste so lachen...