kevindifi
Goto Top

Klammern innerhalb eines ECHO - Befehls ausgeben

HAllo,

ich versuche gerade eine Batch - Abfrage zu erstellen. Innerhalb dieser Abfrage wird ein Text mit Klammern ausgegeben. Dies führt zu dem Problem, dass die schließende Klammer als Ende des Else - Zweiges erkannt wird. Wie kann ich das beheben ?

So sieht die Abfrage z.Zt. aus:

if %res2% EQU 0 (
ECHO Verbindung zum Server wurde hergestellt.
ECHO .
Goto :Update
) ELSE (
ECHO Es konnte keine Verbindung zum Server hergestellt werden.
ECHO Starte OpenVPN (in einem neuen Prozess).
ECHO .
Goto :OpenVPN
)
Goto :EOF

Das Problem ist die schließende Klammer hinter "Prozess". Hier wird dann das Ende des Else - Zweiges erkannt. Die Fehlermeldung lautet dann: "." ist syntaktisch an dieser Stelle nicht verarbeitbar.

Ich weiß das ich den Fehler beseitigen kann in dem ich z.B. andere (eckige) Klammern nehme, oder den Text halt ohne runde Klammern ausführe.

Aber es geht ums Prinzip: Ich möchte wissen wie es auch mit runden Klammern geht.

Kann jemand weiterhelfen?

Danke.

Content-Key: 136577

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

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

Member: Biber
Biber Feb 22, 2010 at 15:41:18 (UTC)
Goto Top
Moin kevindifi,

da die runden Klammen im Batch zu den "Sonderzeichen mit spezieller Bedeutung" gehören müssen sie -wenn sie als normale Buchstaben ohne spezielle Bedeutung gemeint sind mit einem Caret ("^") maskiert werden.

Also
...
....
ECHO Starte OpenVPN ^(in einem neuen Prozess^).
....
Angezeigt werden die Carets dann natürlich nicht bei der Ausgabe.

Grüße
Biber
Member: kevindifi
kevindifi Feb 22, 2010 at 15:49:25 (UTC)
Goto Top
Hallo Biber,

vielen Dank für diese schnelle und sehr hilfreiche Antwort.

Es hat funktioniert !

Gruß

Kevin