R语言——批量重命名文件
生活随笔
收集整理的這篇文章主要介紹了
R语言——批量重命名文件
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
R語(yǔ)言——批量重命名文件
- 前言
- 源代碼
- 樣例
- 小結(jié)
前言
針對(duì)指定文件夾里的文件,并依據(jù)參考表批量重命名文件。
提示:以下是本篇文章正文內(nèi)容,下面案例僅供學(xué)習(xí)參考
源代碼
# 批量重命名文件 # 批量重命名不可以撤銷,請(qǐng)慎重 # 參考excel表中必須含有舊名、新名兩個(gè)字段名以及相應(yīng)的內(nèi)容 # WorkingDirectory -------------------------------------------------------- pkg <- c('dplyr', 'openxlsx', 'stringr', 'pbapply') sapply(pkg, library, character.only = T) #加載相應(yīng)的包 options(stringsAsFactors = F) choose.dir(caption = '請(qǐng)選擇含有待重命名的目標(biāo)文件夾:') %>% setwd() #選擇含有待重命名的目標(biāo)文件夾 da1 <- read.xlsx(choose.files(caption = '用于重命名文件的參考excel表:')) #選擇用于重命名文件的參考excel表 # rename ------------------------------------------------------------------ target_1 <- getwd() t_file_1 <- data.frame(old = list.files(target_1), new = NA) t_file_1$v1 <- t_file_1$old %>% str_remove('\\.[^\\.]\\w+$') t_file_1$v2 <- t_file_1$old %>% str_extract('\\.[^\\.]\\w+$')# 檢查 a <- t_file_1$v1 %>% setdiff(da1$舊名) if(length(unique(t_file_1$v1)) != length(unique(da1$舊名))) warning('Error: 所選文件夾里文件名稱與excel表中去重的舊名稱長(zhǎng)度不一致') if(length(a) != 0) warning('Error: 所選文件夾里含有excel表中未聲明的舊名稱,如——' %>% paste0(a %>% paste(sep = ',')))t_file_1$new <- t_file_1$v1 %>% match(da1$舊名) %>% da1$新名[.] t_file_1$new <- t_file_1$new %>% paste0(t_file_1$v2) t_file_1 %>% select(old, new) %>% pbapply(1, function(df) file.rename(paste0( target_1,'/', df[1] ) , paste0( target_1,'/' ,df[2] )))樣例
用于重命名的參考表樣式:
重命名前:
重命名后:
小結(jié)
R語(yǔ)言——批量重命名文件案例如上所述。有問(wèn)題的小伙伴可Email我,郵箱地址:simozr@qq.com。
總結(jié)
以上是生活随笔為你收集整理的R语言——批量重命名文件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 通过vi服务器运行vi,动态改变界面改变
- 下一篇: 权限管理2020-11-3