批处理文件中带有百分号的 WinSCP 密码
WinSCP password with percent sign in batch file
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"
答案是你需要查看 UTF-8 图表并替换字符。
所以 admin%^& 现在是 admin%25%5e%26
^
和 &
并不真的需要编码(虽然它不会造成任何伤害)。 %
的作用与您 %25
的正确作用相同。如果直接在 WinSCP 命令行上指定,它会起作用。实际问题是 %
在批处理文件 中也有特殊含义 ,不仅在 WinSCP 中。 %2
被批处理文件的第二个参数替换,甚至在 WinSCP 启动之前。如果没有向批处理文件提供(第二个)参数,WinSCP 会看到 admin5^&
(%2
消失)。
如果你想在批处理文件中直接使用%
,你需要将它加倍:admin%%25^&
.
简单的方法是使用 WinSCP GUI generate a batch file for you(请注意,即使 ^
和 &
也会 [不必要地] 编码)。
WinSCP 常见问题解答中对此进行了介绍Why are some WinSCP scripting commands specified in a batch file not executed/failing?
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"
答案是你需要查看 UTF-8 图表并替换字符。
所以 admin%^& 现在是 admin%25%5e%26
^
和 &
并不真的需要编码(虽然它不会造成任何伤害)。 %
的作用与您 %25
的正确作用相同。如果直接在 WinSCP 命令行上指定,它会起作用。实际问题是 %
在批处理文件 中也有特殊含义 ,不仅在 WinSCP 中。 %2
被批处理文件的第二个参数替换,甚至在 WinSCP 启动之前。如果没有向批处理文件提供(第二个)参数,WinSCP 会看到 admin5^&
(%2
消失)。
如果你想在批处理文件中直接使用%
,你需要将它加倍:admin%%25^&
.
简单的方法是使用 WinSCP GUI generate a batch file for you(请注意,即使 ^
和 &
也会 [不必要地] 编码)。
WinSCP 常见问题解答中对此进行了介绍Why are some WinSCP scripting commands specified in a batch file not executed/failing?