The file.path()
函数可用于将目录和文件名组合成单个文件路径,而sub()
函数将允许您轻松修改文件名:
library(tuneR)
dir.create("New files")
FILES <- list.files(PATH, pattern = "audio", recursive = TRUE)
for(infile in FILES){
OneMIN <- readWave(infile, from = 0, to = 60, units = "seconds")
outfile <- file.path("New files", sub('.wav', '_1-min.wav', infile))
writeWave(OneMIN, filename=outfile)
}
另外,值得注意的是,在原始代码示例中,list.files()
函数将仅返回每个文件路径的文件名部分。
因此,您可能需要修改代码,使其看起来像:
FILES <- list.files(PATH, pattern = "audio", recursive = TRUE, full.names=TRUE)
and:
outfile <- file.path("New files", sub('.wav', '_1-min.wav', basename(infile)))
这将确保双方infile
and outfile
都指向正确的位置。