我正在尝试编写批处理代码以将脚本生成到文件中,以打开与WinSCP的连接;最后一个命令应该是这样的:
open sftp://user:password@example.com/
密码包含+
符号,我必须将其更改为%2B
以使WinSCP理解。
set pw=mypassword+
::echo %pw% return--> mypassword+
set st=%%2B
::echo %st% return--> &2B
call set pw=%%pw:+=%st%%%
::echo %pw% return--> mypassword2B
我找不到进行最后一次调用以返回%pw%=mypassword%2B
(2B
之前带有%
(以传递给WinSCP脚本的方法。你能帮帮我吗?还是有另一种策略(但始终在批处理文件中(使 WinSCPopen
命令接受正确的密码?提前谢谢。
这似乎有效:
setlocal enabledelayedexpansion
set pw=!pw:+=%%2B!
请注意,您必须删除call
。
基于批处理 - 替换为百分比符号。
此外,还有另一种方法可以使用-password
开关向 WinSCP 提供密码。
open ftp://username@ftp.example.com/ -password="mypassword+"
为此,您需要 WinSCP 5.19。