I want to zip everything in a folder, EVERYTHING, but into individually named archives. For some reason every solution on the internet only zips folders, or fails to work at all.
Currently, I have
for /d %%X in (*) do "c:\Program Files\7-Zip\7z.exe" a -mx "%%X.zip" "%%X\"
Which I interpret to mean
for
= initiate a loop/d
= I don't know what this means%%X
= I don't know what this meansin
= not sure, I think it means current directory(*)
= I don't know what this meansdo
= execute the next thing in"
..."
"C:\Program Files\7-Zip\7z.exe"
= the thing I want done.a
= add to archive-m9
= max compression"%%X.zip"
= make it a zip file, though I still don't know what%%X
is."%%X\"
= even if I knew what "%%X\" meant I don't know why it's here.
I have figured out replacing %%X
gives the archive a name, so it seems to copy the name of the thing being targeted.
So if I guess, I think /d
is "target folders" and %%X
is the name.
So
for /d %%X in (*) do "c:\Program Files\7-Zip\7z.exe" a -mx "%%X.zip" "%%X\"
Says in English as I understand it: for every folder name in the current directory, use 7z to max compress it into a zip of the same name... except I don't know what to replace /d
with to make it target files instead of folders. And targeting specific extensions would be even better.
I tried googling what does "/d
in cmd mean," "what does %%X
mean", etc. I don't seem to be getting correct results in the search, I think I'm being too vague for google.
UPDATE:
for %%i in (*) do "c:\Program Files\7-Zip\7z.exe" a -mx "%%i.zip" "%%i\*.*"
seems to make a zip file NAMED each item in the folder, but does not actually add any files to them. I tried adding /f
, but it didn't work at all when I did that.
Additionally, the first time I posted this it was closed as a duplicate of Batch script loop which has almost nothing to do with my problem. Yes, I have a loop, yes that addresses batch loops, but no, it does not come close to solving my problem since my problem isn't with the loop itself., or if it does I have absolutely no idea why or how. So please, explain it to me. I did see the section where it says %%X
is the variable, but that just means I suppose X could be anything I want it to be, and since in my update I indicated a secondary issue, I think the problem I'm having is with 7z and not the bat file.