首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从VBA调用WinSCP命令行时,获取“命令参数太多”

从VBA调用WinSCP命令行时,获取“命令参数太多”
EN

Stack Overflow用户
提问于 2017-12-18 09:56:45
回答 1查看 3.3K关注 0票数 1

通过FTP从Excel上传文件非常有用,我正在使用代码将本地文件夹同步到我的FTP服务器。

代码语言:javascript
运行
复制
Call Shell( _
     CurrentProject.Path & "\WinSCP.com /log=" & CurrentProject.Path & "\ftp.log /command " & _
     """open ftp://user:pass@ftp.server.com/"" " & _
     """synchronize local " & localfolder & " /www/remotefolder/wines -filemask=""*.png"" " & _
     """exit""")

我试图在最后发出一个exit命令,但是代码给了我一个

命令“同步”的参数太多。

日志中的行告诉我

代码语言:javascript
运行
复制
synchronize local C:\localfolder\wines /www/remotefolder/wines -filemask=*.png exit

exitsynchronize在同一行,当我使用put脚本时,不会发生这种情况。我能做些什么来防止这件事?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-18 10:05:38

synchronize命令之后缺少闭幕式引号。而围绕-filemask值的报价必须加倍。或者实际上,您不需要它们,因为值不包含空格。

这样做可以:

代码语言:javascript
运行
复制
   """synchronize local " & localfolder & " /www/remotefolder/wines -filemask=*.png""" & _

请参阅https://winscp.net/eng/docs/commandline#syntax

—hostkey—rawsettings开头的符号不是简单的连字符减号 (-),而是埃达什 ()。

请使用连字符-减号(-) -在标准英语和其他键盘上找到的破折号是什么。

因此,实际上,您有与https://winscp.net/forum/viewtopic.php?t=15981完全相同的问题。

或者更简单,有WinSCP GUI为您生成一个脚本模板

也见FAQ 为什么批处理文件中指定的一些WinSCP脚本命令没有执行/失败?

具有相同错误信息的其他问题,但不同的问题:

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47865865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档