' 创建压缩包的最大大小(以字节为单位) maxSize = 4 * 1024 * 1024 * 1024

' 源文件夹路径 sourceFolder = 'C:\Path\To\Source\Folder'

' 压缩包保存路径 zipFilePath = 'C:\Path\To\Save\ZipFile.zip'

' 加密密码 password = 'YourPassword'

' 压缩文件夹为zip格式 shell '7z a -tzip -p' + password + ' -mx9 ''' + zipFilePath + ''' ''' + sourceFolder + ''', 0, 1

' 获取压缩后的文件大小 zipFileSize = filelen(zipFilePath)

' 如果压缩包大小超过maxSize,则进行分卷压缩 if zipFileSize > maxSize then ' 计算分卷压缩的数量 volumeCount = ceil(zipFileSize / maxSize)

' 分卷压缩
for i = 1 to volumeCount
    ' 当前分卷文件的保存路径
    volumeFilePath = zipFilePath + '.' + str(i)

    ' 计算当前分卷的起始和终止位置
    startOffset = (i - 1) * maxSize
    endOffset = i * maxSize - 1
    if endOffset > zipFileSize then
        endOffset = zipFileSize - 1
    end if

    ' 提取指定位置的数据到分卷文件
    shell '7z e -p' + password + ' -so ''' + zipFilePath + ''' > ''' + volumeFilePath + ''', 0, 1

    ' 更新分卷文件的大小
    volumeFileSize = filelen(volumeFilePath)
    if volumeFileSize <> (endOffset - startOffset + 1) then
        ' 分卷文件大小与预期不符,删除该分卷文件
        kill(volumeFilePath)
        exit for
    end if
next i

' 删除原始压缩包
kill(zipFilePath)

else ' 压缩包大小符合要求,不需要进行分卷 end if

' 完成压缩和分卷后,可以将生成的可执行文件与分卷文件一起传输或进行其他操作 ' 解压时,只需运行生成的可执行文件并输入密码即可解压全部分卷文件

' 请将上述代码保存为一个易语言源代码文件(例如compress_folder.yl),然后使用易语言编译器将其编译为可执行文件(例如compress_folder.exe)。生成的可执行文件可以在不同的系统上运行,输入密码后即可解压压缩包。

' 请注意,上述代码使用了7-Zip命令行工具进行压缩和解压缩操作,因此系统中需要安装7-Zip软件,并将其路径添加到系统环境变量中。此外,为了保护数据安全,请确保选择一个安全且强密码进行加密。

易语言文件夹压缩加密:小于4GB自动分卷,安全便捷

原文地址: https://www.cveoy.top/t/topic/OjW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录