Kategorie
PC

Pakowanie wielu folderów do osobnych plików 7z

Potrzebowałem kiedyś spakować kilka folderów, ale nie chciałem tego
robić do jednego archiwum, a także nie chciało mi się każdego pakować
ręcznie.
Szukałem jakby to zrobić z automatu i po dłuższych poszukiwaniach
natrafiłem na to iż przy wykorzystaniu wiersza poleceń i programu 7-
Zip, z którego korzystam, można to uczynić. Zrobiłem plik .bat, który
kopiuję do wybranego miejsca, odpalam i pakuje foldery, które się tam
znajdują. Pliki archiwów mają takie nazwy jak pakowane foldery.
Może Wam też się przyda.

Lokalizacja programu 7-Zip w poniższym kodzie jest dla 64 bitowej
wersji, także jakby ktoś miał zainstalowaną 32 bitową na komputerze z
architekturą x64 musi zmienić ścieżkę do programu.

kod bat:

@echo off
title Pakowanie folderow do archiwow 7z
cls
FOR /D %%F IN ("*") DO ("C:\Program Files\7-Zip\7z.exe" a -t7z -mx9 -r
-y "%%F.7z" "%%F")
echo.
echo Pakowanie folderow zakonczone.
echo.
PAUSE
exit

koniec kodu bat

Gdyby ktoś chciał wykorzystać samo polecenie w konsoli (a nie w pliku .bat) przypominam iż należy przy znaku %%F znaki procent zredukować z dwóch do jednego.

stopnie kompresji w 7-zip w przełączniku -mx

Ja wpisałem najwyższy stopień kompresji, który zajmuje najwięcej czasu,
ale można oczywiście to zmienić.
-mx0 – brak kompresji
-mx1 – najszybsza kompresja
-mx3 – szybka kompresja
-mx5 – normalna kompresja (wartość domyślna)
-mx7 – Maksymalna kompresja
-mx9 – ultra kompresja