bodyparts
Goto Top

Eingabe wird nicht verarbeitet

Moin...

ich stehe wieder auf den Schlau...

warum wird die Eingabe nicht verarbeitet?

@set /p open=Weiter suchen?:

@if %open%=="j" then E:\SysinternalsSuite\pskill -t i_view32.exe   

Content-Key: 127201

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

Printed on: April 26, 2024 at 23:04 o'clock

Member: Uppe
Uppe Oct 15, 2009 at 13:10:13 (UTC)
Goto Top
Hallo,

ungetestet "%open%"


Gruß Uppe
Member: Iwan
Iwan Oct 15, 2009 at 13:18:44 (UTC)
Goto Top
hallo,

getestet:
@set /p "open=Weiter suchen?: "  
Member: Uppe
Uppe Oct 15, 2009 at 13:37:58 (UTC)
Goto Top
Hallo,

@Iwan
wo hast Du das getestet?


Inzwischen getestet:

@set /p open=Weiter suchen?: 
@if "%open%"=="j" echo %open%  

Gruß Uppe
Member: Biber
Biber Oct 15, 2009 at 14:00:48 (UTC)
Goto Top
Moin bodyparts,

Zitat von @bodyparts:
warum wird die Eingabe nicht verarbeitet?

@if %open%=="j" then E:\SysinternalsSuite\pskill -t i_view32.exe
1) Weil zwar du mit dem Schlüsselwort " Then " etwas anfangen kannst, aber die CMD.exe nicht.
2) Weil der Vergleichswert rechts der "==" in Hochkomma eingeschlossen ist, der Wert links dagegen nicht

Ändere die Zeile in
@if /i "%open%"=="j" E:\SysinternalsSuite\pskill .....

Grüße
Biber
Member: bodyparts
bodyparts Oct 16, 2009 at 09:04:18 (UTC)
Goto Top
Moin Biber,

ich bin mir sicher, dass ich schon mit "then" gearbeitet habe, werde ich nachgucken.

Wofür steht /i?

Gruß und Danke
Member: Crusher007
Crusher007 Oct 16, 2009 at 11:43:44 (UTC)
Goto Top
Hi bodyparts,

if /? sagt mir:

Wenn die Befehlserweiterungen aktiviert sind, wird der IF-Befehl folgendermaßen
verändert:

    IF [/I] Zeichenfolge1 Vergleichsoperator Zeichenfolge2 Befehl

Dabei kann der Vergleichsoperator einer der folgenden sein:

    EQU - gleich

Brauchst du also wohl um den Vergleichsop. "==" zu benutzen.

Gruß
der Crusher
Member: Biber
Biber Oct 16, 2009 at 11:48:34 (UTC)
Goto Top
Moin bodyparts,
Zitat von @bodyparts:
Moin Biber,

ich bin mir sicher, dass ich schon mit "then" gearbeitet habe, werde ich nachgucken.
Jepp, aber nicht im Batch. In anderen Skriptsprachen durchaus.

Wofür steht /i?
Beim Befehl IF steht der Schalter /i für /IsmirEgalObGrossOderKleinGeschrieben.
Da dieser Parameter in dieser Form den einen oder anderen Normal-Windowsanwender überfordern könnte darf er mit /i abgekürzt werden.
Effekt --> bei deiner Prüfung wäre sowohl eine Eingabe von "j" wie auch "J" okay.
Siehe auch Hilfe unter IF /?

Grüße
Biber