メインコンテンツ

zip

ファイルを圧縮して ZIP ファイルを作成

説明

zip(zipfilename,filenames) は、filenames の内容を ZIP ファイル zipfilename に圧縮します。zip はフォルダーの内容を再帰的に圧縮します。結果の ZIP ファイルには、現在のフォルダーに対する filenames の相対パスが含まれます。ZIP ファイルには、絶対パスが含まれません。

zip(zipfilename,filenames,rootfolder) は、現在のフォルダーではなく、rootfolder に対する filenames の相対パスを指定します。

zip(___,Password=password,EncryptionMethod=encryptionmethod) は、指定されたパスワードと暗号化方式を使用して、パスワードで保護され暗号化された ZIP ファイルを作成します。zip は空のファイルを暗号化しません。これらの引数は、前述の構文で任意の入力引数の組み合わせに加えて指定できます。 (R2024b 以降)

entrynames = zip(___) は、zipfilename 内にあるファイル名を含む文字ベクトルの cell 配列を返します。

すべて折りたたむ

ファイル membrane.m の zip ファイルを作成します。zip ファイル tmwlogo.zip を現在のフォルダーに保存します。

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

ファイル membrane.m および logo.mtmwlogo.zip という名前の 1 つのファイルに圧縮します。

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');

ファイル thesis.doc および defense.ppt がフォルダー d:/PhD にあるとします。これらのファイルを、現在のフォルダーから 1 レベル上の thesis.zip に圧縮します。

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

ファイル membrane.m の ZIP ファイルを作成します。ZIP ファイル tmwlogo.zip を現在のフォルダーに保存します。ファイルをパスワードで保護し、暗号化方式を指定します。

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

入力引数

すべて折りたたむ

作成する ZIP ファイルの名前。string スカラーまたは文字ベクトルとして指定します。zipfilename.zip 拡張子がない場合、MATLAB®.zip 拡張子を追加します。

zipfilename には、現在のフォルダーに対する相対パスまたは絶対パスが含まれなければなりません。

圧縮するファイルまたはフォルダーの名前。文字ベクトル、文字ベクトルの cell 配列、または string 配列として指定します。

MATLAB パス上にあるファイルには、部分パスを含めることができます。それ以外の場合、ファイルには現在のフォルダーに対する相対パスまたは絶対パスが含まれなければなりません。

フォルダーには、現在のフォルダーに対する相対パスまたは絶対パスが含まれなければなりません。UNIX® システムのフォルダーは、~/ または ~username/ で始めることもできます。これは、それぞれ現在のユーザーのホーム フォルダーまたは指定したユーザーのホーム フォルダーへと拡張されます。ファイルやフォルダーを指定するときにワイルドカード文字 * を使用できます。ただし、MATLAB パスに基づいてファイル名や部分パス名を解決する場合を除きます。

ルート フォルダー。string スカラーまたは文字ベクトルとして指定します。ファイル名を相対パスとして指定する場合、ルート フォルダーを親のパスとして使用して、圧縮するファイルの名前が判別されます。既定では、現在の作業ディレクトリがルート フォルダーになります。

R2024b 以降

ZIP ファイルのパスワード。string スカラーまたは文字ベクトルとして指定します。20 文字以上のパスワードが推奨されます。

セキュリティを強化するために、パスワードなどの機密情報はハードコーディングしないでください。詳細については、Keep Sensitive Information Out of Codeを参照してください。

R2024b 以降

暗号化方式。次の値のいずれかとして指定します。

  • "aes-256" – 業界標準の暗号化。ほとんどのユース ケースで、この方式が推奨されます。

  • "aes-128" – この方式は AES-256 よりも高速で、必要な計算能力やメモリも少なくて済みます。AES-128 は強力な暗号化方式ですが、AES-256 と比較すると総当たり手法に対して脆弱です。

  • "zipcrypto" – この方式では、ほとんどの ZIP アーカイバーと互換性のある ZIP ファイルが作成されます。Linux® 環境で MATLAB を実行する場合、この方式を使用する必要があります。

zip 関数は、ファイルの内容のみを暗号化し、ファイルとフォルダーの名前は暗号化しません。

出力引数

すべて折りたたむ

圧縮されたファイルの名前。文字ベクトルの cell 配列として返されます。entrynames の各要素は、アーカイブに対する相対的なエントリのパスです。

制限

  • Linux システムでは、AES-128 および AES-256 暗号化方式はサポートされていません。

代替機能

[ファイル] パネルでファイルを圧縮するには、ファイルを選択し、右クリックしてコンテキスト メニューを開き、[Zip ファイルの作成] を選択します。

バージョン履歴

R2006a より前に導入

すべて展開する