首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从R内执行wincsp命令行参数

从R内执行wincsp命令行参数
EN

Stack Overflow用户
提问于 2018-09-28 13:08:48
回答 1查看 815关注 0票数 1

我有一些命令行批处理代码,可以在windows命令提示符中运行。我基本上是使用WinSCP命令行参数- https://winscp.net/eng/docs/commandline将本地文件文本文件推送到远程服务器。以下是我使用的命令,以便:

要打开winscp命令行:

代码语言:javascript
复制
winscp

然后通过ssh打开到我的服务器的连接:

代码语言:javascript
复制
open sftp://myUserName:myPassword@theRemoteServer.net

将文件上载到远程服务器:

代码语言:javascript
复制
put directoryMyLocalFileIsIn\fileToUpload.csv /locationOnRemoteServer/whatToNameFileOnRemoteServer.csv

然后关闭连接:

close

一切都很好。但是,我想在RStudio内部运行这一切。我的问题-在我跑完之后:

代码语言:javascript
复制
shell.exec("winscp")

我可以看到winscp外壳被打开了。但是当我尝试运行下一个命令时,如下所示:

代码语言:javascript
复制
shell.exec("open sftp://myUserName:myPassword@theRemoteServer.net")

只是没有在打开的winscp外壳中运行。我还使用了各种R命令的组合,如shell、system2和shell。

同样,我可以在R中成功地打开winscp shell,但我不知道如何在该shell中运行命令。有人知道怎么做吗?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-28 13:47:31

您需要调用WinSCP并使用来自R的单个调用指定所有命令,最好的方法是将WinSCP命令保存在一个文本文件中,例如myscript.txt

代码语言:javascript
复制
open sftp://myUserName:myPassword@theRemoteServer.net
put directoryMyLocalFileIsIn\fileToUpload.csv /locationOnRemoteServer/whatToNameFileOnRemoteServer
exit

然后,在命令行中,您可以按如下方式调用WinSCP (参见WinSCP文档):

代码语言:javascript
复制
winscp.com /script=myscript.txt

(您可能需要指定WinSCP和myscript.txt的确切路径)

最后,要从R中实现这一点,请使用system2命令,如下所示:

代码语言:javascript
复制
system2(
  "winscp.com",
  args = c("/script=myscript.txt"))

同样,您可能需要指定winscp.commyscript.txt的路径。

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

https://stackoverflow.com/questions/52556117

复制
相关文章

相似问题

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