如何将特定文件从子文件夹复制到R中的另一个文件夹?
新年快乐 嗨 我想将子文件夹中具有特定名称的文件复制到另一个文件夹(与主文件夹同名)。 为了澄清我的问题,我举了一个例子。父文件夹(“Histormach”)包含60个子文件夹(即第一个子文件夹:“TCGA_02”、“TCGA_06”、…),每个文件夹包含4个子文件夹(即第二个子文件夹:“f”、“T1”、“T2”、“t1c”),每个文件夹中都有多个文件 我想从这些文件中选择具有类似“_skullstrip_out.nii”模式的特定文件,然后将其复制到另一个文件夹(即“基线”),并使用相同的第一个子文件夹名称(即“TCGA-02”、“TCGA_06”…) 我试过这个密码如何将特定文件从子文件夹复制到R中的另一个文件夹?,r,R,新年快乐 嗨 我想将子文件夹中具有特定名称的文件复制到另一个文件夹(与主文件夹同名)。 为了澄清我的问题,我举了一个例子。父文件夹(“Histormach”)包含60个子文件夹(即第一个子文件夹:“TCGA_02”、“TCGA_06”、…),每个文件夹包含4个子文件夹(即第二个子文件夹:“f”、“T1”、“T2”、“t1c”),每个文件夹中都有多个文件 我想从这些文件中选择具有类似“_skullstrip_out.nii”模式的特定文件,然后将其复制到另一个文件夹(即“基线”),并使用相同的第一
parent\u folder我理解你的问题,我认为下面的内容会让你走得更远。至少,您的所有for
循环都应该是不必要的。相反,您应该将现有的文件操作函数与递归参数一起使用
您没有提供任何要使用的数据。我在R目录中到处玩文件。我尝试对“doc”文件夹中的所有.pdf文件执行基本相同的操作,并将它们复制到与“doc”相同级别的“mytest”文件夹(即工作目录)
我理解你的问题,我认为以下几点会让你走得更远。至少,您的所有for
循环都应该是不必要的。相反,您应该将现有的文件操作函数与递归参数一起使用
您没有提供任何要使用的数据。我在R目录中到处玩文件。我尝试对“doc”文件夹中的所有.pdf文件执行基本相同的操作,并将它们复制到与“doc”相同级别的“mytest”文件夹(即工作目录)
# To make a reproducible example
setwd(R.home()) # Your working dir should be the folder "PHD" that contains "Histomach".
# Define from and to dirs, and the file pattern
from_dir <- "doc" # should be "Histomach" in your case
to_dir <- "mytest" # "base-line"
pattern <- ".pdf" # "_skullstrip_out.nii",
# Get all relevant files
the_files <- list.files(path = from_dir,
recursive = TRUE,
pattern = pattern)
# Create the "to_dir" as well as all corresponding subdirs (where files to copy were found)
sapply(file.path(to_dir, dirname(the_files)),
dir.create, recursive = TRUE, showWarnings = FALSE)
# Copy the files
file.copy(from = file.path(from_dir, the_files),
to = file.path(to_dir, the_files))
file.remove(file.path(to_dir, the_files))