Masowe pakowanie folderów i podfolderów w osobne archiwa

Czołem! Mam pewien problem, a mianowicie: muszę spakować zbiorczy folder oraz jego podfoldery tak, aby efektem wyjściowym były archiwa każdego podfolderu. Sprawa jest trochę zagmatwana, więc może przedstawię to w nieco inny sposób. Posiadam folder, w którym jest ponad 800 podfolderów, a z pewnych przyczyn muszę każdy ten podfolder spakować (najlepiej do .zip). Jak widać, liczba podfolderów jest naprawdę duża, a ręczne pakowanie każdego prawdopodobnie skończyłoby się moją przedwczesną śmiercią, więc musi być jakiś sposób, aby to zrobić łatwiej :smiley: To jak, da się zrobić to w kilku kliknięciach myszą? Na platformie Linux bądź Windows.

Windowsowa linia poleceń:

FOR /D %F IN ("*") DO (

"C:\Program Files\7-Zip\7z.exe" a -t7z -mx9 -r -y "%F.7z" "%F"

)

Uruchamiasz będąc w folderze gdzie masz 800 podfolderów.

Oczywiście musisz mieć (w tym przypadku) program 7-Zip (darmowy). http://www.dobreprogramy.pl/7Zip,Program,Windows,12559.html

1 polubienie

Dzięki, właśnie o to mi chodziło! Przy okazji, zobaczyłem wyższość Linuxowej konsoli nad cmd Microsoftu, fuj

To jest oczywiste, że linuksowy shell bije na głowę wszystko to, co wymyślił do tej pory Microsoft. :slight_smile:

Dlatego warto (nie tylko w powyższego powodu) mieć na swoim komputerze z Windows wirtualną maszynę z jakimś Linuksem.

Jesteś wielki, też mi zależało na 7zipie, ale jeśli ktoś nie ma takich wymagań chyba prościej zrobić to w Total Commanderze: zaznaczasz katalogi lub pliki, dajesz Alt + F5, zaznaczasz “utwórz oddzielne archiwa…”

:slight_smile:

Dzięki. Ale jak takie operacje robisz często/regularnie, to warto przygotować sobie skrypt (batch) wykonujący automatycznie tę “czarną robotę”. :slight_smile:

Pablo_Wawa @Pablo_Wawa Pablo_Wawa

Mam problem. Kod zadziałał, ale musiałem zamienić w kodzie % na %%. Moja sytuacja jest nie co trudniejsza. Mam folder > w nim 800 folderów (różne nazwy) > w każdym z tych folderów jest jeden folder - który właśnie te foldery chce spakować.
Dokładnie

Folder>
Folder Romek > Folder Styczen
Folder Tomek > Folder Styczen
Folder Dawid > Folder Styczen
itd
Chciałbym nie foldery romek,tomek,dawid spakować jak w kodzie powyżej, tylko spakować wszystkie foldery “Styczen”. Czyli jeszcze ten jeden wewnętrzny folder. Czy ktoś wie jak zmienić kod, żeby spakowało wszystkie te foldery wewnętrzne “Styczen”?