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
16 odpowiedzi na “Pakowanie wielu folderów do osobnych plików 7z”
Przydatne te tricki wrzucasz, ale mi co innego by się przydało, niekoniecznie program do tego, ale może jakieś skróty.
mam sobie 5 plików, chcę je skopiować do 30 folderów, czy muszę w każdy wchodzić i je wklejać czy jest jakiśsposób aby wszystkie zaznaczyć i jednym skrótem kontrol v tam je wrzucić? czyli chcę wklejać bez wchodzenia w folder.
Tak prosto to się chyba nie da.
Pomyślałem, że jak się foldery do których chce się wkleić zaznaczy i z kontekstowego wybierze wklej to się uda, ale niestety wkleja się tylko do ostatnio zaznaczonego folderu.
Na szybko znalazłem taką poradę przy użyciu Total Commandera i to się może okazać przydatne.
http://www.totalcommander.pl/total-commander-w-praktyce-kopiowanie-pliku-do-wielu-katalogow-jednoczesnie/
Niestety we Free Commanderze takiej możliwości nie znalazłem kopiowania do wielufolderów, także darmowa alternatywa jest o to uboższa.
a nie to aż tak mi na tym nie zależy mimo wszystko;D
ale dzięki, może kiedyś się przydać
Słuchaj a mam pytanko.
Dałoby się zrobić tak, bo w 7-zipie chyba nie znalazłem tej opcji. W Winrarze podczas tworzenia archiwum możemy dodać dodatkowy plik poprzez dodaj pliki. W 7-zipie chyba tego nie ma, ale to może ja o czymś nie wiem?
Również nie znalazłem takiej opcji.
A mi to nie działa, przed chwilą próbowałem, zaznaczyłem prawie 800 folderów i efekt był taki, że program uruchamiał się jakby przy każdym folderze osobno i przy każdym folderze trzebabyło klikać ok, żeby zakończyć aplikację.
Nie ma chociaż jakiegoś skrutu, że stanę na folderze, nacisnę jakąś kombinację klawiszy i folder sięspakuje, też by to bardzo przyspieszyło?
Ale co ciekawe, natrafiłem na ten wpis z wyszukiwarki google, i zdziwiłem się, że w komętarzach są takie osoby jak Baltim i DjGraco.
Nie bardzo wiem, czemu Ci nie działa i co to znaczy że zaznaczasz foldery.
Tworzysz plik bat wklejasz go w miejsce gdzie masz foldery i uruchamiasz bat.
A no i robisz to w Explorator Windows, a nie w 7-Zipowym menedżerze, być może tu tkwi problem.
A to dobrze, że wyszukiwarki skutecznie indeksują eltenowe blogi 🙂
Zaznaczam foldery to taki skrót myślowy. Wklejam plik bat do folderu, gdzie jest 800 innych folderów do spakowania i oczywiście wiem, że działamy w exploratorze windows.
Zmieniłem na razie kąpresjęna piątkę i na razie idzie.
Szukałem przyczyny, próbując wnioskować z tego co napisałeś.
U mnie to śmiga, na forum kiedyś też Łowca pytał o coś podobnego i mu podrzuciłem link do wpisu i po wyeliminowaniu nowej lini w kodzie, która się wkradła niepotrzebnie przy przejściu blogów na WordPress, też u niego działało.
Bardzo Ci dziękuje za ten wpis, bo to rzeczywiście działa. Nie zauważyłem jedynie, że twój bath pakował do .7z, ale to już sobie zmieniłem i puszczę pakowanie na kolejną noc.
Noo, tu akurat szkoda. Bo to akurat byłoby fajne. Podczas tworzenia archiwum nagle przypomina nam się, że mamy jakiś inny plik/folder do dodania z kosmosu zupełnie innego miejsca na dysku, klikamy dodaj pliki foldery i gotowe nie musimy bawić się w kopiowanie do folderu, który mamy na archiwum.
NAJBARDZIEJ PROSTE ROZWIĄZANIE?
Total commander i pakowanie przy pomocy wtyczki 7z – jest tam możliwość wybrania: pakowanie każdego katalogu/ pliku do oddzielnego archiwum.
Fajne, dziękuje, ale szukam czegoś takiego tylko żeby spakował wszystkie pliki w danym katalogu, bo nie zawsze backupy sa w oddzielnych katalogach 🙂
bat do pakowania samych plików może wyglądać tak:
@echo off
title Pakowanie plikow do archiwow 7z
cls
FOR %%F IN ("*") DO ("C:\Program Files\7-Zip\7z.exe" a -t7z -mx9 -r -y "%%F.7z" "%%F")
echo.
echo Pakowanie folderow i plikow zakonczone.
echo.
PAUSE
exit
Świetny skrypt, dziękuję! Czy da się w nim dopisać funkcję pakownia folderów w częściach o określonym rozmiarze (np 3 GB)?