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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从VBA调用WinSCP命令行时,获取“命令参数太多”相关的知识,希望对你有一定的参考价值。

qazxsw poop非常有用,我正在使用代码将本地文件夹同步到我的FTP服务器。

Upload file via FTP from Excel VBA

我试图在最后发出一个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""") 命令,但代码给了我一个

命令'synchronize'的参数太多。

日志中的行告诉我

exit

synchronize local C:localfolderwines /www/remotefolder/wines -filemask=*.png exit exit在同一行,当我使用put脚本时,这不会发生。我该怎么做才能防止这种情况发生?

答案

您在synchronize命令后缺少结束报价。并且synchronize值附近的报价必须加倍。或者实际上,您不需要它们,因为值不包含空格。

这样做:

-filemask

"""synchronize local " & localfolder & " /www/remotefolder/wines -filemask=*.png""" & _

以上是关于从VBA调用WinSCP命令行时,获取“命令参数太多”的主要内容,如果未能解决你的问题,请参考以下文章

批处理脚本从用户获取文件列表输入以馈送到 WinSCP

Excel vba列表框多列多行从14个文本框

如何从命令行打开 WinSCP GUI 并登录到服务器

从 vba 中的 sub 调用函数

需要骨架代码从 PythonWin 调用 Excel VBA

SSIS 通过 WINscp 从SFTP下载文件