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

按文件夹拆分压缩文件(单包最大100MB、随机命名)的多实现方式问询

按文件夹拆分压缩文件(单包最大100MB、随机命名)的多实现方式问询

当然有多种方法能满足你的需求——给每个文件夹里的文件按最大100MB拆分压缩,并且用随机文件名保存,下面我分别介绍命令行工具和图形化工具的具体实现方式:

一、命令行方式(跨平台可选)

Linux/macOS 用zip命令实现

如果你用的是类Unix系统,自带的zip命令就能搞定,结合随机字符串生成工具就能实现随机命名:

  1. 单个文件夹处理:进入目标文件夹(比如A),执行以下命令:
# 生成8位随机字母数字前缀
RANDOM_PREFIX=$(openssl rand -hex 4)
# 拆分压缩,每个包最大100MB,用随机前缀命名
zip -s 100m "${RANDOM_PREFIX}_archive.zip" *

解释:-s 100m指定每个拆分包的最大容量为100MB,openssl rand -hex 4会生成8位随机字符串,避免文件名重复。

  1. 批量处理A、B、C三个文件夹:可以写个简单的循环脚本一次性搞定:
for dir in A B C; do
    cd "$dir"
    RANDOM_PREFIX=$(openssl rand -hex 4)
    zip -s 100m "${RANDOM_PREFIX}_archive.zip" *
    cd ..
done

Windows 用PowerShell+7-Zip命令行实现

Windows原生的Compress-Archive对分卷支持有限,推荐用7-Zip的命令行版本(需要先安装7-Zip):

# 遍历A、B、C三个目标文件夹
foreach ($dir in "A", "B", "C") {
    # 生成8位随机字母数字文件名
    $randomName = -join ((65..90) + (97..122) + (48..57) | Get-Random -Count 8 | ForEach-Object {[char]$_})
    # 调用7-Zip执行分卷压缩,每个包最大100MB,压缩包保存在源文件夹内
    & "C:\Program Files\7-Zip\7z.exe" a -v100m "$dir\${randomName}_archive.7z" "$dir\*"
}

解释:-v100m指定分卷大小为100MB,7-Zip会自动生成带序号的分卷文件(比如xxxx_archive.7z.001、xxxx_archive.7z.002等)。

二、图形化工具方式(以Total Commander为例)

Total Commander可以结合主流压缩工具(比如7-Zip或WinRAR)轻松实现需求:

  1. 打开Total Commander,定位到包含A、B、C的父文件夹。
  2. 选中第一个目标文件夹(比如A),按下Alt+F5打开压缩对话框。
  3. 在对话框中配置:
    • 压缩格式选择7-Zip(原生支持分卷);
    • 在“压缩文件名”框里手动输入一串随机字符作为文件名(比如k9xZ2p7q_archive);
    • 分卷大小填写100M;
    • 勾选“在源文件夹中创建压缩文件”选项。
  4. 点击确定开始压缩,重复上述步骤处理B和C文件夹即可。

另外,像WinRAR这类常用压缩工具也能实现:选中文件夹内的所有文件,右键选择「添加到压缩文件」,设置分卷大小为104857600字节(即100MB),输入随机文件名,选择压缩到当前文件夹即可。

备注:内容来源于stack exchange,提问作者Crues

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 11:12:58