gorogoronyan FC2

コマンドプロンプト:zip ファイルの圧縮・解凍

7-Zip で圧縮・解凍

zip ファイルの圧縮・解凍は 7-Zip のコマンドライン版 7za.exe を使うのが便利です。

実行例

1) 指定フォルダをzip形式で圧縮
7za a -tzip (出力zipファイル名) (フォルダ名)

例: 7za a -tzip mydata.zip  mydata 
2) zip ファイルを解凍
7za x (zipファイル名)

例: 7za x mydata.zip
3) 指定フォルダを zip形式でアーカイブ (圧縮なし)

画像ファイル(jpg, png, gifなど)や小さな音声・映像ファイル (mp3, mp4など)を1つにまとめる場合に使います。 これらのファイルはすでに圧縮されているので圧縮なしでアーカイブします。 zip 圧縮しても、あまり圧縮されず(元のサイズより大きくなる場合もある)、 ムダに処理時間がかかるだけでメリットはありません。 非圧縮の zip ファイルは解凍もとても高速になります。

7za a -mx0 -tzip (出力zipファイル名) (フォルダ名)

例: 7za a -mx0 -tzip myimg.zip  myimg

for文のサンプル:バッチ処理でフォルダ単位でアーカイブ

ファイルを zip化するときに、フォルダ単位で zip 化するバッチ処理。

例:直下に folder1、folder2、folder3 のフォルダがあるときに
  folder1.zip
  folder2.zip
  folder3.zip
  のようにアーカイブしたい場合。

毎回 GUI とマウスで手作業でやっていたら面倒くさいので バッチ処理で自動化します。

1) 下の bat ファイル (sample.bat) を用意

直下のフォルダに対して 7za a -mx0... のコマンドを表示します (echo があるので表示するだけで実行はしません)。

echo off
rem sample.bat
for /D %%I in (*) do (
  echo 7za a -mx0 -tzip "%%~nI.zip" "%%~fI"
)
2) 処理を実行
sample.bat > tmp.bat
type tmp.bat

tmp.bat の内容に問題がなければ tmp.bat を実行

tmp.bat の確認も省きたいときは echo 7za の echo を削除して直接実行する。

いろいろ

for文の処理で ~nI や ~fI など意味不明な記号がたくさん出てきます。 下の資料などを参考ください。
Crystal-Creation:コマンドプロンプトの使用方法

inserted by FC2 system