【问题标题】:Obtain full path given the folder name using RStudio使用 RStudio 获取给定文件夹名称的完整路径
【发布时间】:2021-01-06 07:52:58
【问题描述】:

我正在致力于一个项目的自动化,但在这种情况下我遇到了障碍。

我们有多个具有唯一项目名称的项目。我需要做的是获取给定文件夹名称的完整路径。

如果上述项目位于 D:\Documents 那么我应该能够获得值 D:\Documents\20911 ABC DEF

虽然每个项目都是完全相同的,但它会包含相同的文件,而且它们都有更高的类别。有些将在文件夹 Project_A、Project_B、Project_C 等下。

或者有没有办法遍历所有文件,寻找指定的项目文件夹,一旦确定,我将获取该路径并将其存储在变量中?

我无法提供示例,因为我尝试在线搜索资源但找不到任何资源。

【问题讨论】:

  • 你不能只用getwd()吗?
  • @Phil 不幸的是,没有。我的 RScript 保存在一个工作文件夹中,与所有项目文件夹分开。 RScript 在所有项目文件上的功能都相同,只是它们具有不同的文件夹名称(取决于项目),这就是我使用该文件夹作为用户输入的原因。
  • 我明白了。您能否将这些项目的目录全部放在一个目录中,然后使用 RStudio 中的项目功能来依赖其路径?例如全部在“D://This_project/Project_A”中,然后在“D://This_project”中创建项目特征。或者,here 包也很有用。

标签: r directory path rstudio


【解决方案1】:

如果我理解您的问题,您可以使用normalizePath()

> setwd("~/Dropbox/9590/Lecture1")
> list.files()
 [1] "Lecture1.html"             "Lecture1.Rmd"              "Lecture1.Rproj"           
 [4] "libs"                      "syllabus_2020.aux"         "syllabus_2020.fdb_latexmk"
 [7] "syllabus_2020.fls"         "syllabus_2020.log"         "syllabus_2020.pdf"        
[10] "syllabus_2020.synctex.gz"  "syllabus_2020.tex"         "xaringan-themer.css"      
> normalizePath("Lecture1.Rproj")
[1] "/Users/david/Dropbox (DaveArmstrong)/9590/Lecture1/Lecture1.Rproj"

至于循环,你当然可以这样做,但它的样子完全取决于你的系统配置。

【讨论】:

    猜你喜欢
    • 2011-04-13
    • 2011-07-10
    • 1970-01-01
    • 2016-01-31
    • 2014-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-21
    相关资源
    最近更新 更多