r - r 根据列表复制到 wd 之外
问题描述
我正在尝试做与其他人非常相似的事情,但在工作目录之外,我不想每次运行这个特定功能时都更改它。
但基于例如 dir1 中保存的 .txt 文件中保存的列表。
这是我的复制功能。我已阅读其他帖子,但当原始目录中有超过 1 个 .txt 文件时无法让它们工作
#sp6
current.folder <- "test1"
new.folder6 <- "test2"
#clear file list
list_of_files6<-NULL
# find the files that you want
list_of_files6 <- read.delim("Mp20181111.txt", header = F)
print(list_of_files6)
setwd(current.folder)
for(i in list_of_files6)
{
file.copy(i, new.folder6)
}
解决方案
您的问题不清楚,但据我了解,您有一个数据框 list_of_files6 ,其中包含一个文件向量以及一个目录名称向量(没有路径)。
mainDir <- as.character(getwd())
if (nrow(list_of_files6) > 0) {
subDir <- as.character(list_of_files6$DIRECTORYNAMES)
} else{
stop(NULL)
}
if (!(dir.exists(file.path(mainDir, subDir)))) {
dir.create(file.path(mainDir, subDir))
}
如果 list_of_files6$FILENAMES 没有进行它的路径:
list_of_files6$FILEPATHS <- paste0(mainDir, "/", list_of_files6$FILENAMES)
假设 list_of_files6 包含目录名和文件名:
for(i in 1:length(list_of_files6)){
if(file.exists(list_of_files6$FILEPATHS[i])){
file.copy(list_of_files6$FILENAMES[i], list_of_files6$DIRECTORYNAMES[i], overwrite = TRUE)
}else{
i <- i + 1
}
}
推荐阅读
- c++-winrt - idl 枚举的格式是什么?
- php - Windows MongoDB PHP extension not load
- javascript - Firebase 自定义声明不会传播
- c# - 如何动态加载从以前的界面构建的程序集?
- java - 使用 inputString 获取枚举值的方法
- android - 将库构建迁移到 Gradle 4.5.1 后应用程序构建失败
- python - RTX 2080ti 的 NCCL 安装/Tensorflow 编译错误
- soap - 使用 Exchange SOAP Web 服务获取当前登录用户
- python - plot_date 函数为每小时数据设置 xticks
- java - 在 Hibernate 多租户配置中禁用 Spring 数据源配置