使用循环在一个目录中创建多个文件夹并命名为R。

3

我试图在一个父文件夹中创建几个子文件夹。我已经创建了这段代码,但它没有创建我的子文件夹。我想在文件夹 "xxxx" 中创建子文件夹。

setwd<- "path/xxxx"
subfolder_names<- (a, b, c, d) 
for (j in1: length(subfolder_names)){
folder<-dir.create("path/xxxx/", paste(j))}

感谢您提出的建议。

在此之前,非常感谢您的建议。

3个回答

8

注意事项:

  • 使用c()将元素组合成列表,并在字符串周围添加引号(")以确保R将其视为数据而不是变量。
  • 确保for循环语句中的"in"和"1:"之间有一个空格,并且"1:"和"length()"相邻。
  • 在for循环中,可以使用paste0来连接两个字符串。在这里,我们将目录和子文件夹名称都连接起来。

subfolder_names <- c("a","b","c","d") 
for (j in 1:length(subfolder_names)){
  folder<-dir.create(paste0("path/xxxx/",subfolder_names[j]))
}


感谢您的评论!然而,我可能没有很好地解释我的问题。我想在文件夹“xxxx”中仅使用名称“a”、“b”、“c”和“d”创建新文件夹。在这里,我创建了与我的文件夹“xxxx”位于同一目录中的文件夹。 - LMontef
1
以上代码假设 "path/xxxx/" 被正确地给定为完整的文件路径,将会产生四个文件夹:
  • "path/xxxx/a/"
  • "path/xxxx/b/"
  • "path/xxxx/c/"
  • "path/xxxx/d/"
所有的文件夹都是 "path/xxxx/" 文件夹的子目录,并且不在与 "path/xxxx/" 文件夹相同的目录中 - 如果这不是想要的结果,请解释说明。
- engineerchange
谢谢,我明白了我的错误。谢谢! - LMontef

2

根据上面的评论,我有这个代码并且它可以运行。

subfolder_names <- c("a","b","c","d") 

for (j in seq_along(subfolder_names)){
  folder<-dir.create(paste0("C:/Users/OGUNDEPO EZEKIEL .A/Desktop/",subfolder_names[j]))}


0

这个:

base_path <- "path/xxxx"
subfolder_names <- ("a", "b", "c", "d") 

for (name in subfolder_names) {

 path <- paste0(base_path, "/", name)
 dir.create(path)

}

这可能是解决问题的方案,但请添加一些关于如何以及什么可以帮助解决问题的信息,以便未来的读者从您的答案中获得最大的帮助。 - Not A Bot
我认为这不需要任何解释。变量名是自说明的,特别是在提出这个问题的情况下。总共有5行。 - VeilOfIgnorance

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