我读了this关于如何删除临时文件的帖子。该帖子中的解决方案是:
do.call(file.remove, list(list.files("C:/Temp", full.names = TRUE)))
目录"C:/Temp"在windows机器上应该没问题。因为我在linux上,我不确定我的tmp文件目录是什么,所以我这样做:
tmp <- tempfile()
该函数返回:"/tmp/路由器NS80编号/文件147c37e54e8e "
所以,我试了这个:
do.call(file.remove, list(list.files("tmp", full.names = TRUE)))
这将返回"logical(0)",因此可能不起作用?
如何删除所有的临时文件?
4条答案
按热度按时间siv3szwd1#
您可以获取当前R会话的临时目录。多次调用该目录不会改变
临时目录包含当前R会话的临时文件和目录
会话临时目录在系统的临时目录中。如果您想删除系统临时目录中的所有文件,可以使用此路径(但不推荐,因为它适用于所有系统,而不仅仅是R临时文件)
此路径也包含在操作系统的环境变量中。(显然,我使用的是Windows)
tempfile()
给出了可能的临时文件的路径,默认情况下位于tempdir()
目录中,没有文件扩展名。该文件不会创建,并且tempfile
在多次调用时给出不同的值我们可以向tmp_file写入一些内容。
我们可以从这个文件中读取
如果你想删除这个文件
如果你想删除R会话临时文件夹中的所有文件,你可以在文件列表中使用
file.remove
。在这个例子中,我删除了所有以“file”开头的临时文件("^file"
是该模式的正则表达式)。还有比我创建的更多的文件- R会话似乎在此过程中创建了一些临时文件。我收到一个警告,因为有一个文件我无法删除(可能正在使用的R现在)
如果您想删除文件夹,也可以使用
unlink
k4aesqcs2#
这里有一个非常简单的方法
为了确认它是否有效
wwodge7n3#
在花了几个小时找出 * 如何使用cmd删除旧文件和文件夹 * 我结束了写这个R脚本,我肯定会自动运行每周:
这将删除
Rtmp*
文件夹与文件所留下的执行R脚本,因为我有很多他们在我的计算机上当然,这样的脚本也可以扩展以适应其他文件夹
whlutmcx4#
可接受的solution假定一个唯一的临时目录。
然而,一些包可能会使用特定的临时目录来运行它们的任务。(例如,请参见devtools)是在任务成功完成时清理杂物,但在出现错误时留下临时材料,以允许用户检查日志文件等。当您碰巧处理它们时,您的硬盘会充满microtemp目录,并且手工去除它们是不切实际的。
在上面,我使用
tempdir()
的父目录和Rtmp
前缀来标识临时目录的位置。最后一行返回无法删除的目录(很可能被操作系统锁定)。
[! tdirs %in% tempdir()]
离开主会话目录,以避免重新启动R。在Linux上测试。