将文件移动到R中的父文件夹
Moving files to parent folder in R
我有一个类似这样的文件结构:
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/
并希望将文件从“_archive”文件夹移动到它们各自的父文件夹中(例如从 D:/bu1/rp1/_archive/ 到 D:/bu1/rp1)。
我将每个存档文件夹路径存储为一个列表,并且认为一个相对简单的 for 循环应该可以完成工作 - 我只是不确定如何将文件指向父目录。
尝试使用批处理文件:
SET DIRNUMBER=1
SET DIRSRC=C:\bu%DIRNUMER%\rp%DIRNUMER%\_archive\
SET DIRDST=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]])
}
我有一个类似这样的文件结构:
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/
并希望将文件从“_archive”文件夹移动到它们各自的父文件夹中(例如从 D:/bu1/rp1/_archive/ 到 D:/bu1/rp1)。
我将每个存档文件夹路径存储为一个列表,并且认为一个相对简单的 for 循环应该可以完成工作 - 我只是不确定如何将文件指向父目录。
尝试使用批处理文件:
SET DIRNUMBER=1
SET DIRSRC=C:\bu%DIRNUMER%\rp%DIRNUMER%\_archive\
SET DIRDST=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]])
}