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
Verheiratet, Vater von zwei Kindern, eines an der Hand, eines im Herzen. Schon immer Technik-Freund, seit 2001 in der IT tätig und seit über 10 Jahren begeisterter Blogger. Mit meiner Firma IT-Service Weber kümmern wir uns um alle IT-Belange von gewerblichen Kunden und unterstützen zusätzlich sowohl Partner als auch Kollegen.
Schreibe einen Kommentar