我知道有些问题与我的非常相似,但是我有不同且奇怪的问题。
我正在研究一个脚本,该脚本会将文件从一个位置存档到另一个位置。 问题是,当我在一个循环中对多个文件使用file.rename()时,或者如果我尝试在1行中使用旧路径矢量和新路径矢量,R不会移动文件。 例如
for (i in 1:length(old_files_all)) {
try(file.rename(from = file.path(old_files_all[i]), to = file.path(new_paths[i])))
#or without try/file.path inside of method ^
}
这样的循环不会移动文件,但是当我为循环的每个位置手动运行代码时,就像这样:
try(file.rename(from = file.path(old_files_all[1]), to = file.path(new_paths[1])))
有效。...
你们能帮助我,如何解决这个“问题”。 预先感谢。
答案 0 :(得分:0)
您可以直接将vector.rename与向量一起使用而无需循环。
#create some example files
file.create(paste0("test", formatC(1:10, width = 2, flag = "0"), ".txt"))
#create vectors with old and new file names
files_old <- list.files(pattern = "^test[0-9]{2}\\.txt", getwd())
files_new <- paste0(getwd(), "//Delete//", files_old)
#move files
file.rename(from = files_old, to = files_new)