从 R 中执行 wincsp 命令行参数
Execute wincsp command line arguments from within R
我有一些命令行批处理代码,我可以在 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 已经打开了。但是当我尝试 运行 我的下一个命令是这样的:
shell.exec("open sftp://myUserName:myPassword@theRemoteServer.net")
它只是 运行 在那个打开的 winscp shell 中。我还使用了 R 命令的各种组合,如 shell、system2 和 shell.
同样,我可以从 R 中成功打开 winscp shell。但是我不知道如何在那个 shell 中执行 运行 命令。有人知道怎么做吗?
谢谢。
您需要调用 WinSCP 并使用来自 R 的单个调用指定所有命令。执行此操作的最佳方法是将 WinSCP 命令保存在单个文本文件中,例如myscript.txt
:
open sftp://myUserName:myPassword@theRemoteServer.net
put directoryMyLocalFileIsIn\fileToUpload.csv /locationOnRemoteServer/whatToNameFileOnRemoteServer
exit
然后,您可以从命令行调用 WinSCP,如下所示(参见 WinSCP documentation):
winscp.com /script=myscript.txt
(您可能需要为 WinSCP 和 myscript.txt 指定确切的路径)
最后,要从 R 完成此操作,请使用 system2
命令,如下所示:
system2(
"winscp.com",
args = c("/script=myscript.txt"))
同样,您可能需要指定 winscp.com
和 myscript.txt
的路径。
我有一些命令行批处理代码,我可以在 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 已经打开了。但是当我尝试 运行 我的下一个命令是这样的:
shell.exec("open sftp://myUserName:myPassword@theRemoteServer.net")
它只是 运行 在那个打开的 winscp shell 中。我还使用了 R 命令的各种组合,如 shell、system2 和 shell.
同样,我可以从 R 中成功打开 winscp shell。但是我不知道如何在那个 shell 中执行 运行 命令。有人知道怎么做吗?
谢谢。
您需要调用 WinSCP 并使用来自 R 的单个调用指定所有命令。执行此操作的最佳方法是将 WinSCP 命令保存在单个文本文件中,例如myscript.txt
:
open sftp://myUserName:myPassword@theRemoteServer.net
put directoryMyLocalFileIsIn\fileToUpload.csv /locationOnRemoteServer/whatToNameFileOnRemoteServer
exit
然后,您可以从命令行调用 WinSCP,如下所示(参见 WinSCP documentation):
winscp.com /script=myscript.txt
(您可能需要为 WinSCP 和 myscript.txt 指定确切的路径)
最后,要从 R 完成此操作,请使用 system2
命令,如下所示:
system2(
"winscp.com",
args = c("/script=myscript.txt"))
同样,您可能需要指定 winscp.com
和 myscript.txt
的路径。