Py远程PC [无法更改其登录密码]几乎没有特殊字符,尤其是百分号(%
)。所以我写的WinSCP脚本无法登录。
根据this document,我尝试了以下操作,但没有成功。
我的密码是admin%^&
。我遵循了上面的文档,并像这样admin%25^&
修改了密码。
如何转义WinSCP登录特殊字符?
C:\Program Files (x86)\WinSCP\WinSCP.com" ^
/log="C:\!Y!M!D_Log.log" /ini=nul ^
/command ^
"open sftp://admin:admin%25^&@137.55.111.1" ^
"put *.* %REMOTE_PATH%" ^
"exit"
答案 0 :(得分:3)
^
和&
确实不需要进行编码(尽管不会造成任何危害)。 %
所做的与您正确完成的%25
一样。如果直接在WinSCP命令行上指定,它将起作用。实际的问题是%
在批处理文件中不仅在WinSCP中也具有特殊的含义。 %2
被批处理文件的第二个参数替换,甚至在WinSCP启动之前。如果没有为批处理文件提供(第二个)参数,则WinSCP会看到admin5^&
(%2
消失了)。
如果要在批处理文件中原样使用%
,则需要将其admin%%25^&
加倍。
一种简便的方法是使用WinSCP GUI generate a batch file for you(请注意,它甚至会[不必要地]编码^
和&
)。
答案 1 :(得分:-1)
答案是,您需要查看UTF-8图表并替换字符。
所以admin%^&现在是admin%25%5e%26