Czy jest jakiś sposób, aby selektywnie zapobiec kompresji niektórych typów plików w 7-zip, na przykład w WinRAR?
Próbuję skompresować ogromny folder (wiele gigabajtów) i nie chcę, aby już skompresowane pliki (np. Pliki ZIP) zostały ponownie skompresowane - powinny być przechowywane bez kompresji.
compression
7-zip
Mehrdad
źródło
źródło
Odpowiedzi:
Tak, możliwe są różne metody kompresji dla różnych plików w tym samym archiwum 7-Zip.
Użyj wersji 7-Zip w wierszu polecenia z
-m
parametrem, aby określić metodę asCopy
, co oznacza brak kompresji.Przykład:
Aby uzyskać więcej informacji, zobacz przełącznik -m (Ustaw metodę kompresji) .
źródło
-m0=Copy
nie działa, spróbuj-mx=0
.Załóżmy, że masz pliki zip i nieskompresowane pliki txt w folderze.
Pierwszym krokiem jest utworzenie archiwum kompresującego pliki txt za pomocą następującego polecenia.
możesz użyć -m do ustawienia poziomów kompresji, zależy to również od używanej metody kompresji
Załóżmy tutaj, że jest to tylko domyślna kompresja
Zostaniesz skompresowany. 7z teraz.
Drugim krokiem będzie skopiowanie już skompresowany plik do tego archiwum lub utworzyć nowe archiwum
Istnieje ponadto opracowanie komendy UPDATE tutaj
A jeśli masz swobodę korzystania z interfejsu graficznego, aktualizację można wykonać w następujący sposób
źródło
Stworzyłem skrypt PowerShell, który szybko skompresuje katalog, przechowując typy plików, które są już skompresowane (np. Pliki .zip) bez próby ich ponownego skompresowania. Wykorzystuje interfejs wiersza poleceń 7zip i korzysta z rozszerzeń nazw plików, aby zdecydować, czy skompresować, czy po prostu zapisać dany plik.
Skrypt można znaleźć tutaj: https://gist.github.com/ivanatpr/5dea086172eab573ba71
źródło
Technicznie skompresowane pliki nie kompresują się dalej, coś o limicie entropii lub coś takiego, zapominam o szczegółach, ale najwięcej, co kiedykolwiek dostałeś, to mniej niż 2%, które widziałem.
Większość dobrych kompresorów sprawdza kompresję i po prostu przechowuje nieskompresowane pliki, ponieważ kompresowanie spowodowałoby narzut i zwiększenie rozmiaru.
Oczywiście jest przede wszystkim praca i czas na przeglądanie pliku.
Jak omówiono w innych odpowiedziach, wykonywanie wielu przejść przez zestaw plików prawdopodobnie będzie najlepszym rozwiązaniem i będzie łatwe do skryptu.
Utwórz archiwum 7z i dodaj wszystko, ALE skompresowane pliki w jednym przebiegu, a następnie dołącz pliki wstępnie skompresowane jako dane nieskompresowane. (Zrobiłbym to w ten sposób, ponieważ rzeczy ściśliwe byłyby wtedy na początku archiwum, a nieściśliwe na końcu. Szybciej odpływałby z dysku, ponieważ jest ciągły)
(użyłem zbyt dużo „kompresji ...”!)
źródło