使用R Studio从SFTP删除文件

使用R Studio从SFTP删除文件,r,R,一旦我在R(解析内容)中处理完文件,我需要从FTP站点删除它们。然而,我尝试的东西似乎都不管用 这就是我所尝试的,以及它的变体 library(RCurl) curlPerform(url="sftp://user:password@sftplocation/folder/", quote="DELE filename.pdf") curlPerform(url="ftp://xxx.xxx.xxx.xxx/", quote="DELE file.txt", userpwd = "user:

一旦我在R(解析内容)中处理完文件,我需要从FTP站点删除它们。然而,我尝试的东西似乎都不管用

这就是我所尝试的,以及它的变体

library(RCurl)

curlPerform(url="sftp://user:password@sftplocation/folder/", quote="DELE filename.pdf")

curlPerform(url="ftp://xxx.xxx.xxx.xxx/", quote="DELE file.txt", userpwd = "user:pass")
错误是 函数错误(类型,msg,asError=TRUE):未知的SFTP命令

当我运行下面的代码时,我会得到一个可爱的所有文件列表(用于下载它们)。所以我知道连接工作得很好,从下载的文件解析工作得很好

curlPerform(url="sftp://user:password@sftplocation/folder/")
谢谢,
Siobhan

要删除
sftp
,请使用
rm
而不是
DELE
——这看起来像
ftp
而不是
sftp
命令

然后确保您拥有完整的文件路径。这对我很有用:

curlPerform(
 url="sftp://me@host.example.com/", 
.opts=list(
   ssh.public.keyfile=pub,
   ssh.private.keyfile=pri),
   verbose=TRUE,
   quote="rm  /home/me/test/test.txt")
请注意,我已将凭据放在一些关键文件中,因此我不会在代码中以明文形式输入密码


我不相信这是最好的方法,因为我无法阻止它打印URL的内容。。。可能有一个选项…

它怎么不起作用?错误消息?没有错误消息,但未删除文件?这是来自
RCurl
软件包的
curl
?你应该在这里的示例中指定你使用的包。啊,对不起,我是新来的!是的,这是利用RCurl。我得到的错误是;函数中出现错误(类型、消息、asError=TRUE):未知SFTPcommand@Siobhan欢迎来到stackoverflow!如果答案解决了问题中描述的问题,请将其标记为“已接受”,以便让其他人有机会快速找到好答案。Thx:-)安德烈·德弗里斯(Andrie de Vries)和Gábor Csárdi(Gábor Csárdi)推出了一个新的存储凭证的软件包
secret
(用户!2017:“你能保守秘密吗?”):谢谢Spacedman。这让我离成功如此之近!是否仍然可以在不使用密钥文件的情况下运行此操作?由于这是一个内部应用程序和内部ftp站点,我们应该可以通过纯文本传递详细信息…哦,我不知道如何在redhat上创建密钥文件!!所以我现在的代码是这样的,我没有收到这样的文件或目录错误,这是巨大的进步!我玩了文件名的结构等,但没有用!对于(pdfs中的d_to_run){curlPerform(url=”sftp://usr:pwd@sftp/”,quote=paste0(“rm/foldername/”,filename[d])}这些文件真的在
/foldername/
中吗,因为这是系统文件的最顶层。你能登录到远程机器,看看是否有东西被删除吗?你能用一个不涉及用
paste
等构建路径的例子来简化和测试循环之外的内容吗?