Добавление переключателя -speed в код WinSCP командной строки в Excel VBA

У меня есть сценарий Excel VBA, чтобы взять файл и загрузить его на мой FTP-сайт. Я бы хотел добавить к команде переключатель -speed, чтобы ограничить скорость передачи примерно до 700k. Теперь у меня есть следующий код, который отлично работает, но не ограничивает:

Call Shell( _
"C:\1a7j42w\WinSCP\WinSCP.com /log=C:\1a7j42w\WinSCP\excel.log /command " & _
"""open ftp://xxxxxxx:[email protected]/"" " & _
"""put """"" & RealFile & """"""" " & _
"""exit""")

И я знаю здесь со страницы WinSCP (https://winscp.net/eng/docs/scriptcommand_put), что мне нужно добавить -speed=<700> после команды put, но меня смущают все кавычки и расположение этого переключателя скорости. Я пробовал добавить его после команды put, получилось так:

"""put -speed=<700>""""" & RealFile & """"""" " & _

но это не сработало. Я также попытался добавить еще один пробел после закрывающей скобки за 700 и перед кавычками, но это тоже не сработало.

Я уверен, что просто не помещаю его в правильное место или неправильно делаю кавычки / пробелы, но я не уверен, что делать дальше. Любая помощь будет принята с благодарностью.


person Jarmer    schedule 15.01.2016    source источник
comment
Ваша команда put выглядит так в команде shell, если я попробую ваш код: "put ""RealFileContents""" - кажется странным количество кавычек? Может быть, вы могли бы вместо этого попробовать одинарные кавычки и просто использовать их по обе стороны от имени файла?   -  person Olle Sjögren    schedule 15.01.2016
comment
Количество цитат и прямой синтаксис взяты из этого сообщения (stackoverflow.com/a/33687368/4946876) Мартина Прикрыла (stackoverflow.com/users/850848/martin-prikryl) - и это очень хорошо работает, как он описывает в этом пост, почему количество цитат. - Я просто не знаю, где добавить переключатель.   -  person Jarmer    schedule 15.01.2016
comment
Хорошо, забудь мой комментарий! :)   -  person Olle Sjögren    schedule 15.01.2016


Ответы (1)


Это не -speed=<700>, а -speed=700. Кроме того, вы пропускаете пробел после переключателя.

Итак, правильный код:

"""put -speed=700 """"" & RealFile & """"""" " & _

Ссылка: https://winscp.net/eng/docs/scriptcommand_put

person Martin Prikryl    schedule 15.01.2016
comment
Понятно. Пробовал, и это сработало! Еще раз спасибо за помощь. Так что моя вторая попытка сработала бы, если бы я не использовал скобки. Это полезно знать о других коммутаторах. Спасибо еще раз. - person Jarmer; 15.01.2016