blener
Goto Top

Variable für Leer?

Hallo kennt jemand die Variable für leerzeichen?

set var=" "
if %var%==? echo ja

wenn die batch datei ausgeführt wird soll ja erscheinen.

Content-ID: 26348

Url: https://administrator.de/contentid/26348

Ausgedruckt am: 20.11.2024 um 15:11 Uhr

blener
blener 21.02.2006 um 17:25:56 Uhr
Goto Top
antwort selbst gefunden:

echo off
set /p hallo=
if not "%hallo%"="" goto a:
:a echo ausgang
goto exit
joerns
joerns 15.07.2006 um 13:54:46 Uhr
Goto Top
Das kommt mir komisch vor, denn selbst, wenn überprüfung "True" zurückgibt, landet man in der nächsten zeile, also bei "echo ausgang"

js
Biber
Biber 20.07.2006 um 20:29:16 Uhr
Goto Top
Das kommt mir komisch vor, ...

Mir auch, mir auch....

Schon bei
if not "%hallo%"="" ....
...sollte Mecker kommen: "=" "" ist syntaktisch an dieser Stelle nicht verarbeitbar.
Denn es sollten zwei Gleichheitszeichen sein beim IF-Vergleich.
Ob "goto a:" toleriert wird, weiß ich nicht, "goto a" (ohne Doppelpunkt) reicht aber.

Ob bei dieser Sprungmarke namens ":a" nun "echo ausgang" dahintersteht oder "Killroy was here" ist relativ gleichwertig. Wird beides ignoriert.
Und das "goto exit" wird dann als abschlussmeldung bringen "Sprungmarke nicht gefunden", weil es kein Label ":exit" gibt.
Also unterm Strich könnte es so ähnlich funktionieren:
@echo off
set /p hallo=
if "%hallo%"=="" goto :eof   
echo Variable [hallo] hat den Wert: [%hallo%].
:. das "Pause" kommt aber nur, weil unten das "exit" folgt und sonst das Fenster zumacht,   
:: bevor jemand das lesen kann
pause 
:a echo ausgang und zwei Becher Joghurt und Oma anrufen....
exit

So in etwa, denke ich...
Biber