Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将文件移动到R中的父文件夹_R_File Manipulation - Fatal编程技术网

将文件移动到R中的父文件夹

将文件移动到R中的父文件夹,r,file-manipulation,R,File Manipulation,我的文件结构与此类似: D:/bu1/rp1/\u存档/ D:/bu1/rp2/\u存档/ D:/bu1/rp3/\u存档/ D:/bu2/rp1/\u存档/ D:/bu2/rp2/\u存档/ D:/bu3/rp1/\u存档/ D:/bu4/rp1/\u存档/ D:/bu4/rp2/\u存档/ 并希望将文件从“_archive”文件夹移动到各自的父文件夹中(例如,从D:/bu1/rp1/_archive/移动到D:/bu1/rp1) 我将每个归档文件夹路径存储为一个列表,并认为一个相对简单的fo

我的文件结构与此类似:

D:/bu1/rp1/\u存档/

D:/bu1/rp2/\u存档/

D:/bu1/rp3/\u存档/

D:/bu2/rp1/\u存档/

D:/bu2/rp2/\u存档/

D:/bu3/rp1/\u存档/

D:/bu4/rp1/\u存档/

D:/bu4/rp2/\u存档/

并希望将文件从“_archive”文件夹移动到各自的父文件夹中(例如,从D:/bu1/rp1/_archive/移动到D:/bu1/rp1)


我将每个归档文件夹路径存储为一个列表,并认为一个相对简单的for循环应该可以完成这项工作-我只是不确定如何将文件指向父目录。

尝试使用批处理文件:

SET DIRNUMBER=1
设置DIRSRC=C:\bu%DIRNUMER%\rp%DIRNUMER%\\u存档\
设置目录=C:\bu%DIRNUMER%\rp%DIRNUMER%\
xcopy%DIRSRC%%DIRDST%
很抱歉,这没有经过测试(因为我不知道您正在复制什么或复制多少文件),但类似的方法可能会奏效

#recreating your directory structure
old_dirs <- list('D:/bu1/rp1/_archive/',
  'D:/bu1/rp2/_archive/',
  'D:/bu1/rp3/_archive/',
  'D:/bu2/rp1/_archive/',
  'D:/bu2/rp2/_archive/',
  'D:/bu3/rp1/_archive/',
  'D:/bu4/rp1/_archive/',
  'D:/bu4/rp2/_archive/')

#splitting filepaths at underscore, which is not really generalized
#but works for your example
new_dirs <- strsplit(unlist(old_dirs), '_')
new_dirs <- lapply(new_dirs, '[[', 1)

#this loop probably needs some work
for(i in old_dirs) {
  all_files <- list.files(old_dirs[[i]])
  file.copy(old_dirs[[i]], new_dirs[[i]])
}
#重新创建目录结构

旧目录可能是这个问题的一些变体,为了补充这个示例,您可以使用FOR循环与文件夹/编号交互。。。在尼斯看到更多。这是一个与我想象中不同的解决方案,但它非常有效。非常感谢。令人惊叹的!想起来很有趣。