Tuesday 31 October 2017

batch - How to make 7-zip do a whole bunch of folders


I got a bunch of pictures that I had to crop into 800x600 pixels. That was easily done, but now I have to upload them so the family can see them all.


Thing is, this is 500MB in pictures. I decided to simply zip the separate folders, which each contain an almost equal amount of pictures. This way I can upload a couple each day. Doing this manually is a very long and hard job. I wonder if there is a way to make 7-zip handle each folder individually?


I think I'll need a batch file to do it, but I'm not good with that. I've put everything under one folder. In the various subfolders is where the pictures are located. What I need is for the contents of that folder to be zipped. I'm not sure if I can just zip the folder along with it. I know PHP has a zip module, I've just never worked with it, so I'm not sure whether it can handle the fact that the content of the zip is a folder which contains the items, instead of just the items.



Answer



Run from a command prompt whose working directory is your My Pictures directory, this command will create a zip file of the contents of each subdirectory, leaving all of the zip files in your My Pictures directory.


Edit: I have added the quotation marks necessary to allow for directories with spaces in their names.


for /D %%d in (*.*) do 7z a -tzip "%%d.zip" "%%d"

Also: The following version will not put files in a subdirectory inside of the zip file, but instead in its root:


for /D %%d in (*.*) do 7z a -tzip "%%d.zip" ".\%%d\*"

In Windows 7 and above


for /D %d in (*.*) do 7z a -tzip "%d.zip" "%d"

or


for /D %d in (*.*) do 7z a -tzip "%d.zip" ".\%d\*"

No comments:

Post a Comment

Where does Skype save my contact's avatars in Linux?

I'm using Skype on Linux. Where can I find images cached by skype of my contact's avatars? Answer I wanted to get those Skype avat...