windows - 管理批处理脚本中的特殊字符以编写 WinSCP“打开”连接字符串
问题描述
我正在尝试编写批处理代码以将脚本生成到文件中,以打开与 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
(使用%
before 2B
)传递给 WinSCP 脚本的方法。你能帮我吗?或者是否有另一种策略(但始终在批处理文件中)使 WinSCPopen
命令接受正确的密码?提前致谢。
解决方案
这似乎有效:
setlocal enabledelayedexpansion
set pw=!pw:+=%%2B!
请注意,您必须删除call
.
基于用百分号进行批量替换。
-password
此外,还有另一种方法可以使用switch向 WinSCP 提供密码。
open ftp://username@ftp.example.com/ -password="mypassword+"
为此,您需要 WinSCP 5.19。
推荐阅读
- flutter - How to increase the display speed of flutter page
- jquery - 实体化表单不适用于动态绑定
- c# - 只允许向上滑动
- javascript - 如何确定变量 BehaviorSubject 与否?
- react-native - 如何获取对用于在 iOS 中通过链接打开我的应用程序的 URL 的引用
- mvvm - RxSwift 处理单元格动作
- javascript - 在这个主要对象中,我如何获得所有汽车型号值
- flutter - Flutter 闪屏动画
- javascript - 如何使用 React Route 发送和接收数据?
- sql - 我如何才能在 postgres 中每 10 行使用 orderby