【问题标题】:Creating a new folder with extension and current date创建具有扩展名和当前日期的新文件夹
【发布时间】:2014-09-03 11:08:47
【问题描述】:

我想知道是否有人知道是否可以在 R 中创建一个新文件夹并自动将当前日期写入其中,例如新文件夹:“TEST_20140903”?这可能吗?

我试图做的是将我的输出(数千个图)移动到一个新文件夹中,然后每次我运行脚本时,当前日期都应该写在扩展中。

【问题讨论】:

  • 你的意思是dir.create(paste("Test", Sys.Date(), sep = "_"))
  • 完美,这正是我想要的,谢谢!!

标签: r directory


【解决方案1】:

您可以将dir.createpasteSys.Date 结合使用,如下所示:

dir.create(paste("Test", Sys.Date(), sep = "_"))

如果您想切换到该目录,我建议将paste 的输出存储为字符向量,并在创建新目录后使用setwd

演示:

x <- getwd()  ## I'm going to demo in a tempdir
setwd(tempdir())
list.dirs()
# [1] "."                                                 
# [2] "./downloaded_packages"                             
# [3] "./rs-graphics-16e13b20-59b3-4ef3-bdcd-02852b1ea576"
newdir <- paste("Test", Sys.Date(), sep = "_")
dir.create(newdir)
setwd(newdir)
list.dirs()
# [1] "."                                                 
# [2] "./downloaded_packages"                             
# [3] "./rs-graphics-16e13b20-59b3-4ef3-bdcd-02852b1ea576"
# [4] "./Test_2014-09-03"                                 
setwd(x)     ## Reset to original working directory

你总是可以创建一个像下面这样的函数,但要小心递归!

Today <- function(prefix = "Test") {
  newdir <- paste(prefix, Sys.Date(), sep = "_")
  dir.create(newdir)
  setwd(newdir)
}

这可以简单地使用Today() 调用,并会在您当前所在的任何目录中创建必要的目录并将您的工作目录设置为该新目录。

【讨论】:

  • 在此期间,有没有办法可以将我的工作目录自动设置为这个新创建的文件夹?
  • @redshoe,我已经更新了——这有帮助吗? (这不是自动的。)
  • 谢谢。这很棒!有没有办法在不进入临时目录的情况下也可以更改它。我的初始 wd 是 Users/xyz/Desktop,我正在使用 create.dir 创建当前日期的文件夹,然后我想更改为这个创建的文件夹
  • @redshoe,改成tempdir只是为了演示。
  • 非常感谢您使用 Today 功能进行编辑。这与我试图做的完美配合!
猜你喜欢
  • 2014-02-17
  • 1970-01-01
  • 1970-01-01
  • 2016-06-30
  • 2017-05-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多