1
我使用批处理和WinSCP连接到FTP服务器并自动上传一些文件。最近一次密码更改后,我遇到了密码包含特殊字符的问题,这些特殊字符不允许我连接到服务器。使用批处理将字符串转换为WinSCP会话URL
特殊字符可以在这里找到:Session URL :: WinSCP
转换的forebidden人物不应该是理论上的一个问题。我用下面的代码将字符串转换与%
字符:
setlocal
SET test="Test % test"
set test=%test:%=%25%
echo %test%
脚本的输出为=5
。
因此,%
存在问题。我试图通过%%
逃脱%
。因此,我的代码如下所示:
setlocal
set test="Test %% test"
set test=%test:%%=%%25%
echo %test%
输出为5
。
是否可以对给定的字符串进行编码以符合批量会话URL的要求?我如何编码字符串?
部分可能是在这两个例子中的第二个'set'命令正在评估一个叫做'测试变量:'你没有定义。它也会出现,你可能有一个变量'25'定义值为'5'(这是一个惊喜)。你可以尝试echo'%25%'并看看你是否得到了'5'。 (然后'设置25 ='将清除它)。看看是否有帮助:https://stackoverflow.com/questions/37333620/special-characters-in-batch-file – GregHNZ