主要内容

zip

将文件压缩到 ZIP 文件中

说明

zip(zipfilename,filenames)filenames 的内容压缩到 ZIP 文件 zipfilename 中。zip 以递归方式压缩文件夹中的内容。生成的 ZIP 文件包含 filenames 相对于当前文件夹的路径。ZIP 文件不存储绝对路径。

示例

zip(zipfilename,filenames,rootfolder) 指定 filenames 相对于 rootfolder 的路径,而不是相对于当前文件夹的路径。

示例

zip(___,Password=password,EncryptionMethod=encryptionmethod) 使用指定的密码和加密方法创建一个受密码保护的加密 ZIP 文件。zip 不加密空文件。除了上述语法中的任何输入参量组合之外,您还可以指定这些参量。 (自 R2024b 起)

示例

entrynames = zip(___) 返回字符向量元胞数组,这些字符向量包含 zipfilename 中的文件的名称。

示例

示例

全部折叠

创建文件 membrane.m 的压缩文件。将压缩文件 tmwlogo.zip 保存在当前文件夹中。

zip('tmwlogo','membrane.m');

将文件 membrane.mlogo.m 压缩到名为 tmwlogo.zip 的文件中。

zippedfiles = zip('tmwlogo.zip',{'membrane.m','logo.m'})
zippedfiles = 1×2 cell
    {'membrane.m'}    {'logo.m'}

将当前文件夹中的所有 .m.mlx 文件压缩到文件 backup.zip 中。

zip('backup',{'*.m','*.mlx'});

压缩文件夹的内容(包括所有子文件夹),并将相对路径存储在 zip 文件中。

创建包含子文件夹 mysubfolder 以及文件 membrane.mlogo.m 的文件夹 myfolder

mkdir myfolder;
movefile('membrane.m','myfolder');
movefile('logo.m','myfolder');
cd myfolder;
mkdir mysubfolder;
cd ..

压缩 myfolder 的内容,包括所有子文件夹。

zippedfiles = zip('myfiles.zip','myfolder');

假设您的文件夹 d:/PhD 中存在文件 thesis.docdefense.ppt。可将这两个文件压缩到 thesis.zip 中(当前文件夹的上一级)。

zip('../thesis.zip',{'thesis.doc','defense.ppt'},'d:/PhD');

创建文件 membrane.m 的压缩文件。将压缩文件 tmwlogo.zip 保存在当前文件夹中。用密码保护文件,并指定加密方法。

zip("tmwlogo","membrane.m",Password="PaSsWoRd123", ...
    EncryptionMethod="zipcrypto");

输入参数

全部折叠

要创建的 ZIP 文件的名称,指定为字符串标量或字符向量。如果 zipfilename 没有 .zip 扩展名,MATLAB® 将会追加 .zip 扩展名。

zipfilename 必须包含相对于当前文件夹的路径或绝对路径。

要压缩的文件或文件夹的名称,指定为字符向量、字符向量元胞数组或字符串数组。

位于 MATLAB 路径中的文件可以包含部分路径。否则,文件必须包含相对于当前文件夹的路径或绝对路径。

文件夹必须包含相对于当前文件夹的路径或绝对路径。在 UNIX® 系统上,文件夹也能以 ~/~username/ 开头,它们分别展开到当前用户的主文件夹或指定用户的主文件夹。当不依赖 MATLAB 路径来解析文件名或部分路径名时,也可以在指定文件或文件夹时使用通配符 *

根文件夹,指定为字符串标量或字符向量。当文件名指定为相对路径时,根文件夹用作父路径以确定要压缩的文件的名称。默认情况下,根文件夹是当前工作目录。

自 R2024b 起

ZIP 文件的密码,指定为字符串标量或字符向量。推荐使用包含 20 个或更多字符的密码。

为了提高安全性,请避免对敏感信息(如密码)进行硬编码。有关详细信息,请参阅 Keep Sensitive Information Out of Code

自 R2024b 起

加密方法,指定为以下值之一:

  • "aes-256" - 行业标准加密。对于大多数用例,推荐使用此方法。

  • "aes-128" - 此方法比 AES-256 更快,对计算能力和内存的要求更低。虽然 AES-128 是一种强大的加密方法,但与 AES-256 相比,它更容易受到暴力破解方法的攻击。

  • "zipcrypto" - 此方法创建一个与大多数 ZIP 存档器兼容的 ZIP 文件。如果在 Linux® 环境中运行 MATLAB,则必须使用此方法。

zip 函数只加密文件的内容,不加密文件和文件夹的名称。

输出参量

全部折叠

压缩文件的名称,以字符向量元胞数组形式返回。entrynames 中的每个元素均为条目相对于存档的路径。

限制

  • 在 Linux 系统上,不支持 AES-128 和 AES-256 加密方法。

替代功能

要压缩“文件”面板中的文件,请选择文件,右键点击以打开上下文菜单,然后选择创建 Zip 文件

版本历史记录

在 R2006a 之前推出

全部展开