You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言中如何解压多个分卷构成的zip压缩包

R 分卷ZIP压缩包解压方案

你的需求可以实现。R 内置的unzip()函数暂不支持分卷ZIP的直接解压,你可以通过以下两种常用方案,实现仅指定首个分卷即可自动完成全部分卷的解压操作。

方案1:使用跨平台archive包(推荐)

CRAN 发布的archive包原生支持分卷ZIP识别,跨Windows、macOS、Linux通用,无需额外配置系统工具:

  1. 首先安装包:
install.packages("archive")
  1. 解压代码示例:
library(archive)
# 仅指定第一个分卷路径,函数会自动匹配同目录下的其余分卷文件
first_part <- "myfile.zip001"
# 第二个参数dir指定解压输出目录,不存在会自动创建
archive_extract(first_part, dir = "./target_output_dir")

方案2:调用系统原生解压工具

如果你不想安装额外的R包,可以直接调用操作系统自带的解压工具实现:

Linux/macOS 环境

系统自带的unzip命令天然支持分卷解压,直接调用即可:

first_part <- "myfile.zip001"
output_dir <- "./target_output_dir"
dir.create(output_dir, showWarnings = FALSE, recursive = TRUE)
system(paste0("unzip ", shQuote(first_part), " -d ", shQuote(output_dir)))

Windows 环境

安装7-Zip压缩工具后,调用7z命令即可实现:

first_part <- "myfile.zip001"
output_dir <- "./target_output_dir"
dir.create(output_dir, showWarnings = FALSE, recursive = TRUE)
# 替换为你本地7z.exe的实际安装路径,默认安装路径如下
seven_zip_path <- "C:/Program Files/7-Zip/7z.exe"
system(paste0(shQuote(seven_zip_path), " x ", shQuote(first_part), " -o", shQuote(output_dir), " -y"))

可复现示例生成建议

你可以通过7-Zip工具生成测试用的分卷压缩包:在命令行执行以下命令,即可将目标文件压缩为单个大小100M的分卷ZIP包,生成的文件命名格式和你示例中的myfile.zip001完全一致:

7z a -v100m myfile.zip 待压缩的源文件路径

内容的提问来源于stack exchange,提问作者JAQuent

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 22:54:01