我有一些命令行批处理代码,可以在windows命令提示符中运行。我基本上是使用WinSCP命令行参数- https://winscp.net/eng/docs/commandline将本地文件文本文件推送到远程服务器。以下是我使用的命令,以便:
要打开winscp命令行:
winscp然后通过ssh打开到我的服务器的连接:
open sftp://myUserName:myPassword@theRemoteServer.net将文件上载到远程服务器:
put directoryMyLocalFileIsIn\fileToUpload.csv /locationOnRemoteServer/whatToNameFileOnRemoteServer.csv然后关闭连接:
close
一切都很好。但是,我想在RStudio内部运行这一切。我的问题-在我跑完之后:
shell.exec("winscp")我可以看到winscp外壳被打开了。但是当我尝试运行下一个命令时,如下所示:
shell.exec("open sftp://myUserName:myPassword@theRemoteServer.net")只是没有在打开的winscp外壳中运行。我还使用了各种R命令的组合,如shell、system2和shell。
同样,我可以在R中成功地打开winscp shell,但我不知道如何在该shell中运行命令。有人知道怎么做吗?
谢谢。
发布于 2018-09-28 13:47:31
您需要调用WinSCP并使用来自R的单个调用指定所有命令,最好的方法是将WinSCP命令保存在一个文本文件中,例如myscript.txt
open sftp://myUserName:myPassword@theRemoteServer.net
put directoryMyLocalFileIsIn\fileToUpload.csv /locationOnRemoteServer/whatToNameFileOnRemoteServer
exit然后,在命令行中,您可以按如下方式调用WinSCP (参见WinSCP文档):
winscp.com /script=myscript.txt(您可能需要指定WinSCP和myscript.txt的确切路径)
最后,要从R中实现这一点,请使用system2命令,如下所示:
system2(
"winscp.com",
args = c("/script=myscript.txt"))同样,您可能需要指定winscp.com和myscript.txt的路径。
https://stackoverflow.com/questions/52556117
复制相似问题