Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Batch file script to zip files

Tags:

i have a folder structure in this pattern. I've just shown two sub directories and 2 files in each but generally I have n number of subdirectories at a single level and single level of files (but can be n number of files)under them.

Directory master subDirectory x:   file1   file2 Directory y:   file 3   file 4 

I need to create a windows script, a batch file to run from the master directory and give me two zip files x.zip and y.zip containing their respective files.

I know my script has to use for and zip commands but I am going bonkers trying to get it to work as I can't understand from the syntax of these commands and googling doesnt seem to help.

I found a command like this for %f in ("*.*") do zip "%~nf.zip" "%f" but it seems to be working only if the files are directly there without subfolders.

like image 376
user3085265 Avatar asked Dec 10 '13 03:12

user3085265


2 Answers

for /d %%a in (*) do (ECHO zip -r -p "%%~na.zip" ".\%%a\*") 

should work from within a batch.

Note that I've included an ECHO to simply SHOW the command that is proposed. You'd need to remove the ECHO keywor to EXECUTE the commands.

like image 113
Magoo Avatar answered Sep 19 '22 15:09

Magoo


I know its too late but if you still wanna try

for /d %%X in (*) do (for /d %%a in (%%X) do ( "C:\Program Files\7-Zip\7z.exe" a -tzip "%%X.zip" ".\%%a\" )) 

here * is the current folder. for more options try this link

like image 29
Arun Nallamayan Avatar answered Sep 22 '22 15:09

Arun Nallamayan