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.