如何用R将多子文件夹文件压缩为无目录结构的单个ZIP文件
解决R中zip压缩时去除子文件夹结构的问题
想要让压缩后的文件直接位于zip包根目录,只需要在调用zip::zip()时指定names参数,用纯文件名覆盖原文件的路径即可,具体实现步骤如下:
- 第一步,定义需要压缩的文件路径列表:
files_to_zip <- c("subfolder1/file1.csv", "subfolder2/file2.csv")
- 第二步,提取每个文件的纯文件名(去掉所在子文件夹路径):
file_names <- basename(files_to_zip)
- 第三步,调用zip函数时传入
names参数,指定压缩包内的文件名称:
zip::zip("test.zip", files = files_to_zip, names = file_names)
这样生成的test.zip里,file1.csv和file2.csv会直接放在压缩包根目录,不会保留原来的subfolder1、subfolder2子文件夹结构。如果需要压缩大量文件,这个方法同样适用,只需要确保files和names的顺序一一对应即可。
内容的提问来源于stack exchange,提问作者John Smith
相关产品推荐
相关产品推荐

