Solved

How do you zip a folder using VB.net?

Posted on 2010-11-09
7
625 Views
Last Modified: 2012-05-10
Is there a way to do this without using a 3rd party application?

Thanks
Phil
0
Comment
Question by:targunp
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
7 Comments
 
LVL 7

Expert Comment

by:EYoung
ID: 34098357
Here is a way to zip using a Process:

    Private Sub srZip_CSV_File()
        'Zip RetailCustLineData.csv to RetailCustLineData.zip and pause until completed before continuing
        Dim P As New Process
        P.StartInfo.FileName = "C:\Program Files\WinZip\WINZIP32.EXE"
        P.StartInfo.Arguments = "-min -a C:\FTP-Data\Icentrix\RetailCustLineData.zip C:\FTP-Data\Icentrix\RetailCustLineData.csv"
        P.Start()
        P.WaitForExit()
        ' ...continue with other stuff...
    End Sub
0
 
LVL 7

Expert Comment

by:EYoung
ID: 34098372
Be sure to change this line to zip a folder:  (example)

P.StartInfo.Arguments = "-min -a C:\FTP-Data\Icentrix\<folder_name.zip> C:\FTP-Data\Icentrix\*.*"

Change it to your names.
0
 
LVL 13

Expert Comment

by:AngryBinary
ID: 34098414
There aren't any built-in .NET classes that handle ZIP compression. Also, the "built-in" zip compression for windows (Right click -> send to -> Compressed Folder) does not have a command line interface unless you've downloaded the MS support tool kit.

So, you will either need to download a 3rd party .NET zip library (such as http://www.icsharpcode.net/opensource/sharpziplib/ - if you download the compiled assembly, it will work with a VB.NET application) or make a call to a 3rd party zip utility with a command line interface  (or Microsoft's COMPRESS utility, if you do have the support tools installed) using "Process.Start(executableFile, args)".
0
Major Incident Management Communications

Major incidents and IT service outages cost companies millions. Often the solution to minimizing damage is automated communication. Find out more in our Major Incident Management Communications infographic.

 
LVL 70

Expert Comment

by:Éric Moreau
ID: 34098780
0
 
LVL 14

Accepted Solution

by:
raja_ind82 earned 500 total points
ID: 34099970
0
 

Author Comment

by:targunp
ID: 34160915
Google gzip, that is the best solution.
0
 

Author Closing Comment

by:targunp
ID: 34160921
Gzip is better, the example posted shows you how to pack a file, not pack and compress. Still thank you for your help
0

Featured Post

Major Incident Management Communications

Major incidents and IT service outages cost companies millions. Often the solution to minimizing damage is automated communication. Find out more in our Major Incident Management Communications infographic.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Active Directory replication delay is the cause to many problems.  Here is a super easy script to force Active Directory replication to all sites with by using an elevated PowerShell command prompt, and a tool to verify your changes.
In threads here at EE, each comment has a unique Identifier (ID). It is easy to get the full path for an ID via the right-click context menu. However, we often want to post a short link within a thread rather than the full link. This article shows a…
Learn the basics of lists in Python. Lists, as their name suggests, are a means for ordering and storing values. : Lists are declared using brackets; for example: t = [1, 2, 3]: Lists may contain a mix of data types; for example: t = ['string', 1, T…
Learn how to match and substitute tagged data using PHP regular expressions. Demonstrated on Windows 7, but also applies to other operating systems. Demonstrated technique applies to PHP (all versions) and Firefox, but very similar techniques will w…

734 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question