如果我跳转文件夹,R不允许我将新创建的文件夹设置为工作目录。我并没有以这种方式设置工作目录,但我很好奇为什么它会表现出这种行为。
首先我设置我的工作目录:
original_directory <-setwd('C:/Users/rooirokbokkie/Documents')
现在我想在当前工作目录中创建两个文件夹,其中folder_2是folder_1的子文件夹:
dir.create(file.path('folder_1', 'folder_2'), recursive = TRUE)
当我尝试将folder_2设置为工作目录时:
setwd('folder_2')
我收到以下错误:
Error in setwd("folder_2") : cannot change working directory
但是如果我先将folder_1设置为工作目录,那么它可以工作:
setwd('folder_1')
setwd('folder_2')
getwd()
[1] C:/Users/rooirokbokkie/Documents/folder_1/folder_2"
`
但是当我尝试备份一个文件夹时,它再次出现错误:
setwd('folder_1')
Error in setwd("folder_1") : cannot change working directory
但我可以再次设置我的原始工作目录:
setwd(original_directory)
getwd()
[1] "C:/Users/rooirokbokkie/Documents"
是什么给出了?
答案 0 :(得分:1)
一个选项是指定folder_2的完整路径(如注释中所述)。
另一个选项,因为folder_2是folder_1的子文件夹,而folder_1位于当前工作目录中,您可以指定相对路径,但从当前工作目录开始。因此,为了将工作目录设置为folder_2,您需要指定:
setwd("folder_1/folder_2")
现在,如果您想来回跳跃,可以执行以下操作:
# capture the "old" working directory
old_dir <- getwd()
# set new wd to folder_2:
setwd("folder_1/folder_2")
# jump to folder_1:
setwd(paste0(old_dir, "/folder_1"))
# jump to original wd:
setwd(old_dir)