Downloading a file over HTTP the SSIS way by Darren Green 2 Jul 2009 18:14 This post shows you how to download files from a web site whilst really making the most of the SSIS objects that are available. 7-Zip is a free file archiver for Windows that comes with all the options that you should ever need for zip files. Click that link to be taken to their website and download the latest version of the program.
I am not sure you can do what you are suggesting using the graphical user interface, but you can certainly from the command line: FOR%i IN (.) DO 7z.exe a '%ni.7z' '%i' You would need to change directory (the cd command) to the F: Downloads directory first, or whatever directory you would want to perform the mass compression. Also, it is easy enough to substitute in.exe or whatever extension you want to filter for to just compress those documents.
And the secret decoder ring:.%i is a variable that holds the file name for each step in the loop. (.) is the selection criteria, it could easily be.exe or similar. 7z.exe is the command line version of 7-Zip.%ni - this expands the%i variable to just the file name - no extension If you wanted to just add the folders for a given directory, the command is a bit more complex as by default FOR just works with files. We need to feed it some additional information: FOR /F 'usebackq delims=?' %i IN (`DIR /B /A:D`) DO 7z.exe a '%i.7z' '%i' This works because of a few pieces of what seems like magic:. /F tells FOR to iterate over the expanded value in. usebackq tells FOR that I am going to pass a command and use the output to iterate.
delims=? Tells FOR that I want to break tokens apart on the?
- an illegal character in file names and directories. I only want one token. The /B in DIR is for bare format - just the name. The /A:D in DIR is for restricting the results by attribute, the D is for directories If you want to encapsulate this inside of a batch file, the only change you will need to make is to double escape the%i variable: FOR%%i IN (.) DO 7z.exe a '%%ni.7z' '%%i'.