user2970560
user2970560

Reputation: 11

7zip bat / command compress multiple folders to multiple corresponding archives without folder in archive

I'm often compressing folders of images or other project related documents into separate zip files the current command in a bat file I'm using is.

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

It automatically places the full contents of all folders separate archive files. My question is if you double click on any of the archives it first navigates to a a folder of the same name as the archive. Is there a way to make it so it doesn't put have to folder, it just has the contents?

Right now I get

D:\User\1501.7z\1501\ contents

I just want

D:\User\1501.7z\ contents

Second if this is possible can it be set up so that if one of the folders has multiple folders in it all the contents of each folder is placed into just the on directory instead of having a multiple folders in the archive.

Thanks, Tony

Upvotes: 1

Views: 5550

Answers (1)

Squashman
Squashman

Reputation: 14320

This will set the working directory to the folder that you want to zip up and save the zip file one level up from that directory.

@echo off
for /d %%X in (*) do (
    PUSHD "%%X"
    "D:\Program Files\7-Zip\7z.exe" a "..\%%X.7z" "*"
    POPD
)

Upvotes: 1

Related Questions