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
Please also mark the comments that contributed to the solution of the article
Content-Key: 119553
Url: https://administrator.de/contentid/119553
Printed on: April 28, 2024 at 22:04 o'clock
8 Comments
Latest comment
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:
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...