WinSCP远程转本地数据自动化脚本执行报错求助
WinSCP脚本错误修复方案
错误原因分析
- 批处理命令语法错误:你编写的批处理命令不符合WinSCP调用规则,导致WinSCP无法正确加载脚本,反而尝试用无效的命令行参数初始化会话,触发了“脚本不使用独立参数”“命令行参数开会话已废弃”的错误。
- 脚本命令换行问题:
synchronize命令被拆分为两行,WinSCP无法识别完整的同步参数,会导致执行失败。
修正步骤
1. 修正批处理文件内容
将批处理中的错误命令替换为正确的WinSCP调用格式,使用/script参数指定脚本文件:
winscp.com /script="SMS_BASES_SAMBA_TO DRIVE.txt"
- 如果脚本文件不在批处理的同一目录下,需填写完整路径,例如:
winscp.com /script="C:\YourScriptDir\SMS_BASES_SAMBA_TO DRIVE.txt"
2. 修正WinSCP脚本
将synchronize命令的两行参数合并为一行,同时给远程路径添加引号(避免空格或特殊字符解析错误):
option batch abort option confirm off open sftp://username:password@server -hostkey="host key" synchronize local "\\Local Path" "/remote path" exit
额外注意事项
- 避免在脚本中明文存储密码,建议使用WinSCP站点管理器保存会话信息,或采用密钥认证提升安全性。
- 确保本地和远程路径的格式正确:Windows本地路径用反斜杠
\,SFTP远程路径用正斜杠/。
内容的提问来源于stack exchange,提问作者kevin_s_p
相关产品推荐
相关产品推荐

