WinSCP: Sonderzeichen in Session-URL und Batch

Gerne werden in Kennwörtern Sonderzeichen verwendet. Damit das dann via Batch-Skript in Verbindung mit WinSCP funktioniert, muss man diese umwandeln und eine Kleinigkeit beachten.

Ohne Sonderzeichen würde man eine Session-URL so schreiben:

ftp://username:meinkennwort@domain.tld

Kommt jetzt beispielsweise ein „+“ ins Spiel funktioniert folgende Schreibweise nicht im Batch-Skript bzw. genauer ausgedrückt dann bei der „WinSCP.com“ :

ftp://username:mein+kennwort@domain.tld

Die Authentifizierung scheitert und man kassiert ein „Access denied“.

Das „+“-Zeichen muss konvertiert werden. Gemäss der Anleitung bei WinSCP (siehe Quelle) wird dann „%2B“ daraus:

ftp://username:mein%2Bkennwort@domain.tld

Gibt man diese Zeile via „echo…“ aus, verschwindet allerdings das „%“ und die Anmeldung scheitert erneut:

ftp://username:mein2Bkennwort@domain.tld

Das erste „%“ wird seitens CMD als Einleitung für einen Parameter verstanden und folglich sozusagen geschluckt. Daher müssen es zwei „%%“ sein:

ftp://username:mein%%2Bkennwort@domain.tld

Nun klappt’s auch mit einem vorangestelltem „echo“:

echo ftp://username:mein%%2Bkennwort@domain.tld > winscp.txt

Übergibt man nun die „winscp.txt“ an WinSCP.com („WinSCP.com /script=winscp.txt“),  es müssen/sollten natürlich noch weitere Angaben enthalten sein, funktioniert die Anmeldung.

Quelle:

WinSCP – Documentation – Features – Session URL

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.