marc92
Goto Top

Maskieren von Anführungszeichen in CMD

Guten Tag,

ich habe folgendes Problem und hoffe, dass mir jemand weiterhelfen kann.
Wir haben ein Ticketsystem im Einsatz aus welchem ich automatisch einen Aufruf der Software Ultra VNC auf den Client des Kunden starten möchte.

Der Aufruf funktioniert auch erstmal problemlos und Hostname und Passwort werden übergeben.

An einem Standort haben wir jetzt das Problem, dass in dem Passwort ein Anführungszeichen (") enthalten ist und dieses kann ich nicht mehr ohne weiteres übergeben.

Normalerweise sieht der Befehl folgendermaßen aus
vnc HOSTNAME /password PASSWORT

Kann mir jemand sagen, wie ich den Befehl umbauen muss, damit ich als Passwort auch ein Anführungszeichen verarbeiten kann?

Im Voraus Danke für die Hilfe.

LG Marc92

Content-Key: 312370

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

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

Member: SeaStorm
SeaStorm Aug 11, 2016 at 12:00:20 (UTC)
Goto Top
^ ist das Escapezeichen

-> ^"

sollte funktionieren. je nach dem wo es eingesetzt wird, auch DoubleQuotes , also :
-> ""
Member: Marc92
Marc92 Aug 11, 2016 at 12:11:03 (UTC)
Goto Top
Danke für die schnelle Antwort.
Wie muss ich das dann in den Befehl einbauen?

vnc HOSTNAME /password ^PASSWORT
...funktioniert leider nicht.

PASSWORT ist eine Variable, die ich aus dem Ticketsystem an die CMD übergebe.

Können Sie mir da helfen?
Member: Kraemer
Kraemer Aug 11, 2016 at 15:01:45 (UTC)
Goto Top
Zitat von @Marc92:
Normalerweise sieht der Befehl folgendermaßen aus
vnc HOSTNAME /password PASSWORT

Von wo bzw wie wird der Befehl denn angestoßen / ausgeführt. Das Ticketsystem ist was? Eine Win-Anwendung, was Webmäßiges?

Gruß Krämer
Member: rubberman
rubberman Aug 11, 2016 at 19:22:21 (UTC)
Goto Top
Hallo Marc92.

Das Caret (^) ist ein Batch-Ding. Bei deinem Problem geht es wohl eher darum, dass das Anführungszeichen als eingehender Parameter in vnc nicht richtig geparst wird. Oft (nicht bei allen Programmen) hilft es, wenn Anführungszeichen mit einem Backslash maskiert werden. Die verzögerte Variablenerweiterung zu aktivieren nachdem die Variablenwerte definiert wurden, hilft zudem bei weiteren Problemzeichen.

set "password=bla>"blub"  
set "hostname=foo.com"  

setlocal EnableDelayedExpansion
vnc !hostname! /password "!password:"=\"!"  
Grüße
rubberman