| 

.NET C# Java Javascript Exception

1
hallo,

ich hab ein Problem und zwar sollen diese Befehle ausgeführt werden

.....
set /p wie.helfen="Wie kann ich dir helfen ? "
.....
if /i "%wie.helfen%"=="ich will was rechnen" goto Programm.ausführen.calc
if /i "%wie.helfen%"=="rechnen" goto Programm.ausführen.calc
....
....
:Programm.ausführen.notepad
notepad.exe
exit
:Programm.ausführen.calc
calc.exe
exit


Wenn man nun eingibt "ich will was rechnen" sollte er über goto Programm.ausführen.calc
calc.exe ausführen, stattdessen wird aber notepad.exe ausgeführt. Ich hab herausgefunden das wenn man nur "rechnen" eingibt dann auch calc.exe startet, könnt ihr mir helfen das der code funktioniert.


danke
News:
23.09.2011
vicon 308 1 8
In Deiner zweiten Frage zu dem Thema hast Du angegeben, dass Du Windows 7 64-Bit nutzt. Das ist die Version, die ich auch habe. Der Code, den Du gepostet hast - ohne die ...-Zeilen, mit einem "echo off" am Anfang - läuft bei mir. "ich will was rechnen" und "rechnen" als Eingabe führen zu einem Start des Taschenrechners, alles andere zu Notepad. Kann es sein, dass das eigentliche Problem in den weggelassenen Zeilen steckt?
Matthias Hlawatsch 26.09.2011
2 Antworten
1
So wie es jetzt ist wird immer dann, wenn die Eingabe nicht den von Dir vorgenommenen Vergleichen entspricht, das Programm notepad.exe ausgeführt. Damit das nicht passiert, kannst Du am Ende Deiner Vergleichsoperationen z.B. ein goto ProgrammEnde setzen
.....
set /p wie.helfen="Wie kann ich dir helfen ? "
.....
if /i "%wie.helfen%"=="ich will was rechnen" goto Programm.ausführen.calc
if /i "%wie.helfen%"=="rechnen" goto Programm.ausführen.calc
....
....
goto ProgrammEnde
:Programm.ausführen.notepad
notepad.exe
exit
:Programm.ausführen.calc
calc.exe
exit
:ProgrammEnde
exit
24.09.2011
Joachim 3,1k 4 9
irgendwie verstehe ich deine Logik nicht, wenn der goto ProgrammEnde befehl vor dem Programm.ausführen.calc befehl steht wird das Programm beendet ohne das eines der beiden Programme (notepad.exe , calc.exe) ausgeführt wird. Erkläre es anders bitte ich kann dir leider nicht folgen
vicon 24.09.2011
Du springst die entsprechende Stelle doch mit goto Programm.ausführen.calc an - damit überspringst du ja den Befehl goto Programmende und das Programm calc.exe wird ausgeführt. Probiers doch einfach mal aus.
Joachim 25.09.2011
0
Ich glaube, das eigentliche Problem hier ist das, was Du in Deiner anderen Frage konkreter formuliert hast. Daneben behält aber die Empfehlung von Jürgen Gültigkeit - für den Fall, dass kein Vergleich zutrifft, solltest Du einen Sprung zum Programmende (oder einer Fehlermeldung) vorsehen.
25.09.2011
Matthias Hlawatsch 13,2k 4 9

Stelle deine Batch-Frage jetzt!