Search code examples
windowsbatch-filecommand-linecommand-prompt

How to zip a file using cmd line?


I want to zip a directory using the batch file command (Windows XP batch file).

For example, if I want to unzip a file means I can use the jar -xf file.zip(java) bat file command.

Like that I want a command line batch to zip a directory.


Solution

  • If you are using Ubuntu Linux:

    1. Install zip

      sudo apt-get install zip
      
    2. Zip your folder:

      zip -r {filename.zip} {foldername}
      

    If you are using Microsoft Windows:

    Windows does not come with a command-line zip program, despite Windows Explorer natively supporting Zip files since the Plus! pack for Windows 98.

    I recommend the open-source 7-Zip utility which includes a command-line executable and supports many different archive file types, especially its own *.7z format which offers superior compression ratios to traditional (PKZIP) *.zip files:

    1. Download 7-Zip from the 7-Zip home page

    2. Add the path to 7z.exe to your PATH environment variable. See this QA: How to set the path and environment variables in Windows

    3. Open a new command-prompt window and use this command to create a PKZIP *.zip file:

      7z a -tzip {yourfile.zip} {yourfolder}
      

    Cross-platform Java:

    If you have the Java JDK installed then you can use the jar utility to create Zip files, as *.jar files are essentially just renamed *.zip (PKZIP) files:

    jar -cfM {yourfile.zip} {yourfolder}
    

    Explanation: * -c compress * -f specify filename * -M do not include a MANIFEST file