ceraux
Goto Top

Variablen und Set

Hallo, ich weiß nicht wie man mehrere Wörter in eine Variable machen?
Also so:
if %var1%==%var2% echo Hallo
%var1%=Dies ist ein Test
%var2%=Dies ist ein Test
Er erkennt es aber als:
if Dies ist ein Test==Dies >>ist ein Test echo Hallo<< Das in den >><< wird als Befehl angesehen.
Ich habe es auch schon damit versucht:
if %var1%=="%var2" echo Hallo
Das wird dann aber so gesehen:
if Dies ist ein Test==>>"Dies ist ein Test<< Die Anführungszeichen werden mit zum Wort gezählt.

Jemand eine Idee?

Ein anderes Problem ist:
wenn man bei:
set /p test=
einfach nichts eingibt und enter drückt stürzt das Programm ab.
Kann man es irgendwie so hinbekommen, das man da was eingeben muss?

Danke im Vorraus,
Ceraux

Content-Key: 285772

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

Printed on: April 24, 2024 at 19:04 o'clock

Mitglied: 122990
Solution 122990 Oct 16, 2015 updated at 12:57:54 (UTC)
Goto Top
Hello again,
set "var1=Dies ist ein Test"  
set "var2=Dies ist ein Test"  
if "%var1%" == "%var2%" echo Stimmt überein!  

Ein anderes Problem ist:
wenn man bei:
set /p test=
einfach nichts eingibt und enter drückt stürzt das Programm ab.
Kann man es irgendwie so hinbekommen, das man da was eingeben muss?
:start
set /p test=Ihre Eingabe:
if not defined test (
    echo Sie muessen eine Eingabe machen!
    goto start
)
Gruß grexit
Member: Ceraux
Ceraux Oct 16, 2015 at 13:46:02 (UTC)
Goto Top
Weißt du auch wie das geht?:
@echo off
cls
for /f "tokens=1,* delims=:" %%a in ('findstr /n . "file.txt"') DO @(
set "var%%a=%%b"
)
cls
:file
set /p file=%var1%:
if not defined file (
echo Sie m%ue%ssen eine Eingabe machen!
goto file
)
if "%file%" == "%var2%" echo Richtig! && set /a "punkte=%punkte% + 1" > NUL
if not "%file%" == "%var2%" echo Falsch! Antwort: %var2%
pause

file.txt:
Du bist
Du warst


Da funktioniert es nicht mit mehreren Wörtern

Danke im Vorraus,
Ceraux