【发布时间】:2018-05-13 09:57:24
【问题描述】:
我在一个目录文件夹中存储了许多(子)文件夹。每个子文件夹包含 5-35 个 .jpg 航拍照片文件,以航线名称和编号命名(即:bej-3-83)。我想根据它们存储的子文件夹为每个文件添加一个后缀。例如,如果“bej-3-83”存储在“T13N_10W”子文件夹中,我希望我的 R 脚本将“bej-3-83”重命名为“bej-3-83-T13N_10W”等存储在其中的每个文件每个子文件夹。
我可以部分完成这个过程,尽管手动输入比我想要使用这个脚本更多:
folder = "C:\\...\\T23N_R14W"
files <- list.files(folder,pattern = "\\.jpg$",full.names = T)
files
sapply(files,FUN=function(eachPath){
file.rename(from=eachPath,to= sub(pattern="_clip", paste0("_T23N_R14W"),eachPath))
})
但是正如您所看到的,此脚本使用手动粘贴输入的子文件夹名称,当您尝试创建一个一举完成我需要的脚本时,这没有用。
我看到了使用“pushd”和“popd”的类似问题和答案,我已将这些主题作为链接附在下面。我正在尝试尽可能多地阅读这些功能,但到目前为止,使其工作的过程让我陷入困境。
How to rename files in folders to foldername using batch file
Rename Files Based On Folder Name
此致,
亨利
【问题讨论】:
标签: r loops for-loop rename pushd