如何在R中重命名一个非空目录?

8

我该如何从 R 重命名一个目录?

我尝试了以下代码:

Warning message:
In file.rename(from = sprintf("content/%s-content", pu_name), to = sprintf("content/%s",  :
  cannot rename file 'content/pu.train2-content' to 'content/train2', reason 'Directory not empty'

1
从帮助文件?file.rename中可以得知,在Windows系统中,file.rename函数可以在不同卷之间移动文件,但不能移动目录。在允许重命名目录的平台上,通常要求from和to参数都是目录,如果to已经存在,则必须是一个空目录。 - lmo
2
我明白了,file.rename可能不是正确的解决方案。 - Daniel Falbel
换句话说,在Windows上使用file.rename()来重命名文件夹是可以的,只要不跨不同的驱动器。对于大多数(我的)使用情况来说,这是一个不错且快速的解决方案。 - undefined
1个回答

7
您可以使用 shell 来传递一个特定于操作系统的命令以进行更改:
shell(paste('rename', 
            sprintf("content/%s-content", pu_name),
            sprintf("content/%s", other_name)))

它应该能够在不需要空目录的情况下运行。


这个答案缺少shell()函数的闭合括号。编辑队列已满。也许有人可以接受对这个答案的编辑? - mugdi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接